Ваш GPU, ваш проект Криптооплата без KYCКак оплатить
Русский
Моё пространство
Руководство по первому проекту

Возобновите недостающие элементы, не переделывая весь пакет заново.

После прерывания отталкивайтесь от списка проверенных входных данных и результатов, а не от последнего показанного процента. Присвойте идентификатор каждому элементу, классифицируйте результаты и перезапустите только те, которые остаются нужными. Присутствующий файл не обязательно полный, а строка со статусом «выполняется» ничего не доказывает после остановки программы. Этот метод подходит для независимых задач, например пакета изображений или документов; он не восстанавливает вычисление, прерванное в середине файла.

На этой странице

1. Зафиксируйте ситуацию перед нажатием «перезапустить»

Прекратите добавлять работу и убедитесь, что ни один запуск того же пакета ещё не активен. Потерянное соединение не всегда означает, что программа остановилась. Проверьте её состояние, когда это возможно: запуск второй копии может создать дубликаты или записать в те же назначения.

Сохраните журнал, список входных файлов, настройки и сообщение об ошибке. Сделайте копию таблицы отслеживания перед её исправлением. Держите сомнительные результаты в отдельном месте, не перезаписывая оригиналы и уже принятые результаты. Если место назначения заполнено, освободите место или подготовьте другое место назначения, определив, что нужно сохранить.

2. Дайте каждому элементу стабильный идентификатор

Одна строка должна представлять одну ожидаемую задачу, например IMG-017 в связке с catalogue/chaise-face.png. Один только путь может стать неоднозначным после перемещения; короткое имя вроде photo.png может встречаться в нескольких папках. Сохраняйте уникальный идентификатор и соответствие с исходным входом.

Добавьте идентификатор конфигурации, путь вывода, состояние, номер попытки и краткую причину. Этот журнал может быть обычной таблицей или CSV вашего проекта. Ему не нужно содержать изображения, пароли или весь технический журнал машины. Человек должен уметь найти нужную запись и объяснить, почему она попала в возобновление.

Не изменяйте оригинал за идентификатором, который уже принят. Новый элемент или другая трансформация требует новой версии с чёткой пометкой. Иначе один и тот же идентификатор в итоге будет обозначать две несовместимые работы, и журнал больше не позволит решить, что завершено.

2. Дайте каждому элементу стабильный идентификатор
IDКонфигурацияСостояниеВывод или причина
IMG-017essai-02ПринятоIMG-017.png открыт и проверен
IMG-018essai-02Требует проверкиФайл присутствует, проверка не завершена
IMG-019essai-02СбойНехватка памяти во время обработки
IMG-020essai-02К выполнениюОжидаемый вывод не найден

3. Сверьте журнал и реальные файлы

Для каждого запланированного идентификатора найдите ожидаемый вывод. Проверьте формат, размеры или содержимое, необходимое для вашего использования, затем откройте файл в целевом инструменте. Уже принятые и по-прежнему имеющиеся результаты остаются вне списка возобновления. Если вывод отсутствует, а журнал говорит «принято», сначала поищите сохранённую копию, прежде чем решать пересчитать его.

Отнесите элементы «в процессе» на момент остановки к тем, что требуют проверки. Некоторые могут быть полными, другие лишь частичными. Дата или размер файла служат подсказкой, а не подтверждением. Дополнительный файл без известного идентификатора остаётся в стороне, пока вы не установите его происхождение.

Для изображений Pillow различает идентификацию файла, чтение его пикселей и проверку его структуры. Поэтому программа, которая лишь открывает заголовок, проверяет не всё. Автоматическая проверка может выявить некоторые повреждения; она не судит о том, читается ли текст или соответствуют ли цвета результату.

4. Отделите незавершённый элемент от отклонённого результата

Частичный вывод нужно переделать или восстановить из полной копии. Полный, но неприемлемый вывод требует сначала понять дефект. Повторный запуск с теми же параметрами на нечитаемом входе или на случае, которому систематически не хватает памяти, вероятно, повторит проблему. Запишите исправление, прежде чем возвращать этот идентификатор в очередь.

Держите состояний немного: к выполнению, в процессе, требует проверки, принято и сбой. Переход в «принято» происходит после проверки, а не при запуске вычисления. Если вы решаете исключить элемент, добавьте состояние «исключено» с причиной и необходимым для проекта согласием. Он не должен молча исчезать из ожидаемого итога.

Не считайте новую попытку новой задачей. У IMG-019 может быть три попытки и только один принятый вывод. Это различие помогает не путать шестьдесят запусков с шестьюдесятью разными результатами.

Пример: найти девятнадцать ещё нужных элементов

Этот иллюстративный сценарий касается шестидесяти независимых изображений. После прерывания и проверки сорок один вывод принят, четыре частичны, шесть завершились сбоем и девять отсутствуют. Журнал охватывает 41 + 4 + 6 + 9 = 60 идентификаторов. Возобновление касается девятнадцати элементов при условии устранения причин шести сбоев.

Ответственное лицо восстанавливает список из девятнадцати идентификаторов, затем выделяет четыре частичных файла, шесть ошибок и девять задач без вывода. Оно сначала берёт одну исправленную запись и одну отсутствующую. Оно также подтверждает, что уже принятое изображение не входит в выборку. Эта небольшая проверка подтверждает список перед оставшейся обработкой.

Если затем будут приняты ещё восемнадцать элементов, а один исходный файл останется нечитаемым, итог составит пятьдесят девять принятых и один объяснённый сбой. Пакет не объявляется завершённым на шестидесяти. Следующий выбор — найти правильную запись или утвердить её исключение, а не скрывать строку.

Пример: найти девятнадцать ещё нужных элементов
Состояние после проверкиКоличество идентификаторовПредлагаемая обработка
Принято, вывод найден41Оставить; повтор не нужен
Частичный вывод4Отложить отдельно, затем переделать
Выявленный сбой6Устранить причину перед новой попыткой
Вывод отсутствует9Начать заново с записи
Всего к повтору194 + 6 + 9, без дублей

5. Выполните повтор в отдельном месте

Подготовьте папку повтора только с отобранными идентификаторами или используйте явную выборку в вашей программе. Перечитайте список перед запуском. Если инструмент предлагает «пропускать существующие файлы», уточните, что это значит: наличие частичного файла может привести к его ошибочному пропуску. Проверенный журнал остаётся вашим ориентиром.

Пусть новые выводы создаются в отдельной папке, вместе с их конфигурацией и номером попытки. Проверьте их, прежде чем заменять предыдущую версию. Некоторые скрипты могут перезаписать существующий файл без запроса подтверждения; Python в частности описывает это для os.replace. Соглашение об именовании само по себе не защищает от замены.

Если настройки меняются для устранения дефекта, оставьте это изменение видимым. Вы можете сохранить выводы из двух конфигураций, если они соответствуют одним и тем же критериям и если такое смешение приемлемо для проекта. Для визуально однородной серии сравните также новые выводы со старыми, прежде чем объединять папки.

6. Проверяйте итог по каждому идентификатору, а не только по количеству

В конце у каждого ожидаемого идентификатора должно быть объяснённое состояние. Две копии IMG-017 не компенсируют отсутствие IMG-020. Проверьте уникальность имён, соответствие записям и конфигурацию отобранных выводов. Откройте переделанные файлы и проконтролируйте моменты, из-за которых их переделывали.

Завершённая папка включает принятые выводы, обновлённый журнал, настройки и список возможных отброшенных или всё ещё заблокированных элементов. Сохраните этот набор вместе с проверенной копией. Строка «принято» не заменяет ни файл, ни его резервную копию.

Этот метод возобновляет независимые задачи с их входных данных. Он не позволяет автоматически продолжить симуляцию, рендер или обучение с точного места остановки. Такие работы требуют собственного состояния возобновления в программе. Также не предполагайте, что папка, оставшаяся на арендованном окружении, будет сохранена по истечении периода: подготовьте свою копию.

Частые вопросы

Моя программа показывает 100 %. Значит ли это, что пакет обязательно завершён?

Нет. Проверьте ожидаемые выводы и их приёмку. Индикатор прогресса может описывать пройденные задачи, не гарантируя, что каждая создала полный и пригодный файл. Итог должен объяснять каждый идентификатор пакета.

Можно ли сразу удалить все частичные файлы?

Отложите их отдельно на время, пока не поймёте причину прерывания и не подтвердите, что нужно переделать. Не удаляйте исходные данные или единственную копию полезного результата, приняв их за временный файл. Очистка идёт после проверки и сохранения.

Нужно ли переделывать всё, если у меня не было журнала?

Не обязательно. Восстановите список по входным данным, сопоставьте выводы и проверьте их. Элементы без надёжного соответствия остаются требующими проверки. Начните журнал с этого момента, не выдавая старые файлы за проверенные по умолчанию.

Можно ли возобновить работу, пока коллега обрабатывает ту же папку?

Избегайте двух процессов, которые записывают данные в одни и те же идентификаторы и места назначения. Чётко распределите задачи или дождитесь завершения другого запуска. Каждый должен знать, какие идентификаторы он может изменять и куда публиковать проверенные результаты.

Двигайтесь в своём темпе

Немного методичности меняет старт.

Открыть руководства