Stylegan2 использует сетевые файлы pickle для хранения моделей машинного обучения. Я передаю обученную одну модель, которую я могу открыть на облачных серверах. Я генерировал изображения из этой модели со следующей настройкой:
- Google Colab: Python 3.6.9, CUDA 10.1, tensorflow-gpu 1.15, CuDNN 7.6.5
Однако я не могу открыть файл сетевого рассола на своем локальном компьютере, хотя я пытался максимально воспроизвести эту облачную настройку. (У меня правильный графический процессор hardware/drivers/etc
.)
- Локальный (Windows 10) Python 3.6.9, CUDA 10.1, tensorflow-gpu 1.15, CuDNN 7.6.5
- Требуется, чтобы библиотека '
dnnlib
' находилась в PYTHONPATH, аtf.Session()
была инициализирована.
Я получаю ошибку утверждения о рассоле.
**Assertion error**: `assert state["version"] in [2,3]`
Я нахожу эту ошибку очень странной, потому что сетевой рассол работает в облаке, поэтому он был сохранен правильно. Кроме того, моя локальная настройка может открывать другие сетевые настройки (например, загруженные из Интернета через запросы GET), заставляя меня думать, что я правильно настроил свой PYTHONPATH и инициализировал файл tf.Session
. Это предварительные условия, перечисленные в репозитории Stylegan:
«Вы можете импортировать сети в свой собственный код Python, используя
pickle.load()
. Чтобы это работало, вам нужно включить исходный каталогdnnlib
в PYTHONPATH и создать сеанс TensorFlow по умолчанию, вызвавdnnlib.tflib.init_tf()
»
Я не уверен, почему я не могу открыть этот рассол в одной среде, но могу в другой. У кого-нибудь есть предложения относительно того, где я мог бы начать искать?