Многопоточная запись TFRecord внезапно прекращается в блокноте Kaggle [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Многопоточная запись TFRecord внезапно прекращается в блокноте Kaggle [закрыто]

Сообщение Anonymous »

Я обращаюсь за помощью по поводу многопоточности для записи TFRecord в блокнотах Kaggle. Я работаю над набором данных VGGFace2 и стремлюсь преобразовать пары изображений в TFRecords для наборов обучения, проверки и тестирования, но этот процесс слишком медленный в одном потоке.
Файлы TFRecord содержат примеры protobuf для этого. парные изображения для обозначения одного и разных людей.
Проблемы и то, что я пробовал:
  • Медленная однопоточная обработка. Обработка даже ограниченного подмножества набора данных (5 пар изображений на каталог для обучения, по 2 для проверки/тестирования) занимает значительное количество времени. (потенциально до 24 часов) с использованием одного потока. Я максимально оптимизировал свой код, что побудило меня изучить многопоточность для повышения производительности.
  • Проблемы многопоточности: Когда я реализую многопоточность с помощью concurrent.futures.ThreadPoolExecutor, сеанс внезапно прекращается без каких-либо сообщений об ошибках. Кроме того, все переменные теряются, что требует полного перезапуска с самого начала. Интересно, что многопоточность работает безупречно при использовании одного каталога (поскольку реализованная мной многопоточность заключалась в одновременной работе с разными каталогами, работа с одним каталогом больше не была многопоточностью, а была однопоточным процессом, даже если он был отключен из-за многопоточного пула. объект-исполнитель), но даже использование двух каталогов вызывает те же проблемы, что описаны выше (VGGFace2 имеет примерно 8631 каталог).

Мои вопросы:
  • Возможные причины: Что может быть причина этих проблем с многопоточностью? Это ограничение памяти ресурсов Kaggle?
  • Альтернативные подходы: Сталкивались ли другие с подобными проблемами? Существуют ли альтернативные подходы для ускорения записи TFRecord в среде Kaggle?
Дополнительные примечания:< /p>
  • Я использую библиотеку contextlib.ExitStack, чтобы открыть множество средств записи и писать одновременно.
    < /li>
    Я долго искал решения в обсуждениях Kaggle и переполнении стека, но не нашел конкретного решения для этого сценария.
У вас есть идеи или опыт использования многопоточности в блокнотах Kaggle, особенно при работе с такими наборами данных, как VGGFace2?

Подробнее здесь: https://stackoverflow.com/questions/787 ... e-notebook
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»