Почему обучаемые переменные исчезают, когда включено активное выполнение? - PullRequest
0 голосов
/ 24 марта 2020

Если я запускаю следующий код (tenensflow 1.15), я могу получить список обучаемых переменных двумя различными способами.

from tensorflow.keras.layers import AveragePooling2D, Conv2D, Dense, Flatten, Input
from tensorflow.keras.models import Model
import tensorflow as tf

x_in = Input((32, 32, 1))
x = Conv2D(filters=6, kernel_size=(5, 5), activation='relu', input_shape=(32,32,1))(x_in)
x = AveragePooling2D(pool_size=(2, 2))(x)
x = Flatten()(x)
x = Dense(units=120, activation='relu')(x)
x = Dense(units=10, activation='softmax')(x)

m = Model(inputs=x_in, outputs=x)

v1 = m.trainable_variables
v2 = tf.compat.v1.trainable_variables()

И v1, и v2 имеют одинаковое значение.

Если я добавлю вызов tf.compat.v1.enable_eager_execution() перед созданием моей модели, v2 станет пустым; tf.compat.v1.trainable_variables() возвращает пустой список.

Почему это?

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