Arhn - архитектура программирования

pickle.load не может открыть модель pickle (сеть Stylegan2) на моем локальном компьютере, но может в облаке

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()»

Я не уверен, почему я не могу открыть этот рассол в одной среде, но могу в другой. У кого-нибудь есть предложения относительно того, где я мог бы начать искать?


Ответы:


1

На самом деле, я понял это, распечатав, какая версия выдавала ошибку. Напечатанная версия была «4». Я понял, что это соответствует рассолу (HIGHEST_PROTOCOL) и что мне нужен был новейший выпуск репозитория Stylegan2, который включал pickle format_version 4 в свои разрешенные версии.

28.04.2020
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..