Keras: отображать только NN-архитектуру без выделения памяти моделиPython

Программы на Python
Ответить
Anonymous
 Keras: отображать только NN-архитектуру без выделения памяти модели

Сообщение Anonymous »

Моя цель — использовать Keras для визуализации архитектуры модели. Никакого обучения, никаких выводов.
Например, если я просто хочу визуализировать график сети классической модели VGG16 с помощью

Код: Выделить всё

model = create_vgg_like_model()
, тогда Keras начинает предварительно выделять необходимую память и происходит сбой программы (см. изображение).
Изображение

Характеристики ПК: процессор с 4 ядрами, 8 ГБ оперативной памяти. Из-за "огромного" количества параметров модели используется даже раздел подкачки.

Я пробовал поиграться

Код: Выделить всё

cpu_devices = tf.config.list_physical_devices('CPU')

if cpu_devices:
try:
# avoid allocating all memory on the device
tf.config.set_visible_devices(cpu_devices, 'CPU')
tf.config.experimental.set_memory_growth(cpu_devices[0], True)

model = create_vgg_like_model()
dot = tf.keras.utils.model_to_dot(model) # example of display
except ValueError as e:
print(e)
но безуспешно поднимает

Код: Выделить всё

ValueError: Cannot set memory growth on non-GPU and non-Pluggable devices
.

Есть ли способ
  • отложить выделение памяти на ЦП и/или графическом процессоре
  • для реализации объекта, подобного модели, содержащего только «поверхностную» информацию о сети, такую ​​как имя слоя, ввод, вывод, количество параметров и т. д.?


Подробнее здесь: https://stackoverflow.com/questions/798 ... allocation
Ответить

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

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

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

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

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