Tensorflow - Как создать нейронную сеть переменного размера - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь написать программу на Python, которая в основном использует множество возможностей нейронных сетей Tensorflow.Другими словами, я хочу сделать цикл, который обучает алгоритм с одним скрытым слоем, а затем пробует два скрытых слоя и т. Д. Однако я не могу найти какую-либо документацию, которая указывает мне правильное направление, и хотелпроверьте и посмотрите, каков консенсус в отношении того, как к этому подойти.

Спасибо!

РЕДАКТИРОВАТЬ: Используя комментарии и ответы ниже, я более внимательно изучил некоторые документы - в частности, по этой ссылке - и намерены использовать цикл for в каждом сеансе для добавления слоев в последовательную модель.

Я предоставлю обновленную информацию о том, как это работает, когда у меня будет время для ее реализации.

1 Ответ

0 голосов
/ 25 января 2019

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

#Create neural network 1
with tf.session() as sess1: #"sess1" for clarity. Call all sessions "sess" in practice
    #Create your first network and perform training operations like usual
    #...

    #Close the session, freeing all resources
    sess1.close()

#Create neural network 2
with tf.session() as sess2: #"sess2" for clarity. Call all sessions "sess" in practice
    #Create your second network and perform training operations like usual
    #...

    #Close the session, freeing all resources
    sess2.close()

Вы можете повторить процесс столько раз, сколько захотите. Каждая нейронная сеть может быть сохранена из каждого сеанса (в разные файлы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...