Первичная версия: стилометрия реплик, LSA и протокол экспериментов
This commit is contained in:
56
lab1/scripts/collect_results.sh
Executable file
56
lab1/scripts/collect_results.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
# Упаковка результатов для передачи коллеге.
|
||||
#
|
||||
# Запуск из каталога lab1:
|
||||
# bash scripts/collect_results.sh
|
||||
#
|
||||
# Создаёт exports/nlp_lab1_results_<timestamp>.tar.gz и файл SHA-256.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
||||
cd "${PROJECT_ROOT}"
|
||||
|
||||
PYTHON="${PYTHON:-python}"
|
||||
RUN_ID="${RUN_ID:-$(date +%Y%m%d_%H%M%S)}"
|
||||
OUT_DIR="${OUT_DIR:-${PROJECT_ROOT}/exports}"
|
||||
ARCHIVE="${OUT_DIR}/nlp_lab1_results_${RUN_ID}.tar.gz"
|
||||
MANIFEST="${OUT_DIR}/nlp_lab1_results_${RUN_ID}_manifest.txt"
|
||||
|
||||
mkdir -p "${OUT_DIR}"
|
||||
|
||||
{
|
||||
echo "Дата: $(date)"
|
||||
echo "Каталог: ${PROJECT_ROOT}"
|
||||
echo "Интерпретатор: ${PYTHON}"
|
||||
echo
|
||||
"${PYTHON}" scripts/check_environment.py || true
|
||||
echo
|
||||
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
||||
echo "Git commit: $(git rev-parse HEAD 2>/dev/null || echo 'нет коммита')"
|
||||
else
|
||||
echo "Git: репозиторий не инициализирован"
|
||||
fi
|
||||
echo
|
||||
echo "Содержимое results:"
|
||||
find results -maxdepth 2 -type f | sort | head -n 500
|
||||
} > "${MANIFEST}"
|
||||
|
||||
INCLUDE=()
|
||||
for path in results features data/processed data/metadata; do
|
||||
if [[ -e "${path}" ]]; then
|
||||
INCLUDE+=("${path}")
|
||||
fi
|
||||
done
|
||||
INCLUDE+=("${MANIFEST#"${PROJECT_ROOT}/"}")
|
||||
|
||||
tar -czf "${ARCHIVE}" "${INCLUDE[@]}"
|
||||
|
||||
sha256sum "${ARCHIVE}" > "${ARCHIVE}.sha256"
|
||||
|
||||
echo "Архив: ${ARCHIVE}"
|
||||
echo "Контрольная сумма: ${ARCHIVE}.sha256"
|
||||
echo "Манифест: ${MANIFEST}"
|
||||
echo
|
||||
echo "Передайте коллеге архив и файл .sha256."
|
||||
Reference in New Issue
Block a user