@@ -354,12 +354,7 @@ jobs:
354354 cd app/Converters
355355 python download_imagenet.py
356356 cd ../..
357- - name : Debug cache info
358- run : |
359- echo "Cache hit: ${{ steps.cache-imagenet.outputs.cache-hit }}"
360- echo "Cache key: ${{ steps.cache-imagenet.outputs.cache-primary-key }}"
361- echo "Dataset size:"
362- du -sh docs/ImageNet
357+
363358 - name : Upload dataset as artifact
364359 uses : actions/upload-artifact@v4
365360 with :
@@ -425,9 +420,7 @@ jobs:
425420 if : matrix.model_url != ''
426421 run : |
427422 mkdir -p docs/models
428- echo "Скачивание ${{ matrix.model_file }} из ${{ matrix.model_url }}"
429423 wget -O docs/models/${{ matrix.model_file }} ${{ matrix.model_url }}
430- ls -la docs/models/
431424
432425 - name : Setup Python
433426 uses : actions/setup-python@v4
@@ -475,99 +468,10 @@ jobs:
475468 MODEL="${{ matrix.model }}"
476469 EXTRA_ARGS="${{ matrix.extra_args }}"
477470
478- echo "Запуск оценки для модели $MODEL"
479- echo "Команда : ${{ steps.set_eval_binary.outputs.EVAL_BINARY }} --model $MODEL $EXTRA_ARGS"
480-
481- echo "Системная информация до запуска:"
482- echo "--- Память ---"
483- free -h
484- echo "--- CPU ---"
485- top -bn1 | head -5
486- echo "--- Диск ---"
487- df -h docs/ImageNet/test/
488-
489- TIMESTAMP=$(date +%s)
490- MONITOR_LOG="monitor_$MODEL.log"
491-
492- monitor_process() {
493- local pid=$1
494- local log_file=$2
495-
496- echo "Мониторинг процесса $pid..."
497-
498- while kill -0 $pid 2>/dev/null; do
499- NOW=$(date '+%H:%M:%S')
500-
501- MEM=$(ps -o rss= -p $pid 2>/dev/null | awk '{print $1/1024 " MB"}' || echo "N/A")
502-
503- CPU=$(ps -o pcpu= -p $pid 2>/dev/null || echo "N/A")
504-
505- TOTAL_MEM=$(free -m | awk 'NR==2{print $3 " MB / " $2 " MB"}')
506-
507- echo "[$NOW] PID : $pid | MEM: $MEM | CPU: $CPU% | System MEM: $TOTAL_MEM" >> $log_file
508-
509- sleep 2
510- done
511-
512- echo "Процесс $pid завершен" >> $log_file
513- }
514-
515- echo "Запуск ACC в фоновом режиме..."
516471 " ${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" \
517472 --model $MODEL \
518473 $EXTRA_ARGS > accuracy_$MODEL.txt 2>&1 &
519474 ACC_PID=$!
520-
521- echo "PID процесса : $ACC_PID"
522-
523- monitor_process $ACC_PID $MONITOR_LOG &
524- MONITOR_PID=$!
525-
526- wait $ACC_PID
527- EXIT_CODE=$?
528-
529- kill $MONITOR_PID 2>/dev/null || true
530-
531- echo "Результаты мониторинга:"
532- if [ -f "$MONITOR_LOG" ]; then
533- cat "$MONITOR_LOG"
534- else
535- echo "Лог мониторинга не создан"
536- fi
537-
538- echo "Системная информация после запуска:"
539- free -h
540-
541- echo "Код завершения : $EXIT_CODE"
542-
543- if [ $EXIT_CODE -eq 143 ]; then
544- echo "Ошибка 143 (SIGTERM) - процесс убит системой"
545-
546- if sudo dmesg | tail -20 | grep -i "killed process" | grep -q "$ACC_PID"; then
547- echo "Подтверждено : процесс убит OOM Killer"
548- sudo dmesg | tail -20 | grep -i "killed process" | tail -5
549- else
550- echo "Не найдено подтверждение OOM Killer в логах"
551- sudo dmesg | tail -20
552- fi
553-
554- elif [ $EXIT_CODE -ne 0 ]; then
555- echo "Ошибка при оценке модели $MODEL (код : $EXIT_CODE)"
556- else
557- echo "Оценка успешно завершена"
558- fi
559-
560- echo "Лог ACC:"
561- if [ -f "accuracy_$MODEL.txt" ]; then
562- cat "accuracy_$MODEL.txt"
563- else
564- echo "Файл лога не создан"
565- fi
566-
567- # Выход с ошибкой если нужно
568- if [ $EXIT_CODE -ne 0 ]; then
569- exit $EXIT_CODE
570- fi
571475
572476 - name : Extract accuracy value
573477 run : |
@@ -600,11 +504,8 @@ jobs:
600504
601505 if grep -q "<!--ACCURACY_${{ matrix.model }}_PLACEHOLDER-->" README.md; then
602506 sed -i "s|<!--ACCURACY_${{ matrix.model }}_PLACEHOLDER-->.*<!--END_ACCURACY_${{ matrix.model }}-->|${UPDATE_TEXT}|" README.md
603- echo "Обновлена точность для ${{ matrix.model }} в README"
604507 else
605508 echo "Ошибка : Плейсхолдер <!--ACCURACY_${{ matrix.model }}_PLACEHOLDER--> не найден в README.md"
606- echo "Содержимое README.md:"
607- cat README.md
608509 exit 1
609510 fi
610511
0 commit comments