Settings:
Mac OS 10.14.6
Python 3.7.4
Tensorflow 2.0.0
关于name_scope设置,我有问题。我在代码中写了name_scope()
,但在Tensorboard中没有this image in Tensorboard这样的name_scope。我打算在此图像中为Flatten,Dense等创建名称范围。
我已卸载并重新安装Tensorflow,但结果相同。作为附加信息,我在Terminal中没有任何错误。有人对此情况有想法吗?
def _model_B0001(self):
with tf.name_scope('1stLayer'):
inputs = Input(self.shape)
x = Flatten()(inputs)
x = Dense(512)(x)
output1 = Dense(self.nb_classes1, activation='softmax', name='output1')(x)
output2 = Dense(self.nb_classes2, activation='softmax', name='output2')(x)
predictions = [output1, output2]
model = Model(inputs, predictions)
model.compile(loss={'output1': 'categorical_crossentropy',
'output2': 'categorical_crossentropy'},
optimizer='adam',
metrics=['accuracy'])
model.summary()
with open(self.summary_txt, "w") as fp:
model.summary(print_fn=lambda x: fp.write(x + "\r\n"))
return model
我自己解决了这个问题。这可能是由于pip和anaconda的碰撞。所以我在下面做了。
卸载所有pip软件包。
$ pip freeze > piplist.txt
$ sudo pip uninstall -r piplist.txt
卸载所有anaconda软件包。
卸载软件包。
$ conda install anaconda-clean
$ anaconda-clean
删除包后删除空文件夹。
$ rm -fr ~/.anaconda_backup
$ rm -fr /anaconda3
删除.bash_profile中的内容
$ sudo nano .bash_profile
重新安装anaconda。从https://www.anaconda.com/distribution/下载
重新运行张量板。
def _model_A0001(self):
with tf.name_scope('1stLayer') as scope:
# print(scope)
# sys.exit()
inputs = Input(self.shape)
x = Conv2D(32, (3, 3), border_mode='same', name='conv2d')(inputs)
x = Activation('relu', name='relu')(x)
x = MaxPooling2D(pool_size=(2, 2), name='max_pooling')(x)
x = Dropout(0.25, name='dropout')(x)
with tf.name_scope('2ndLayer'):
x = Conv2D(64, (3, 3), border_mode='same')(x)
x = Activation('relu')(x)
x = Conv2D(64, (3, 3))(x)
x = MaxPooling2D(pool_size=(2, 2))(x)
x = Dropout(0.25)(x)
with tf.name_scope('DenseLayer'):
x = Flatten()(x)
x = Dense(512)(x)
x = Activation('relu')(x)
x = Dropout(0.5)(x)
output1 = Dense(self.nb_classes1, activation='softmax', name='output1')(x)
output2 = Dense(self.nb_classes2, activation='softmax', name='output2')(x)
predictions = [output1, output2]
# inputs = [inputs, inputs]
model = Model(inputs, outputs=predictions)
model.compile(loss={'output1': 'categorical_crossentropy',
'output2': 'categorical_crossentropy'},
optimizer='adam',
metrics=['accuracy'])
model.summary()
with open(self.summary_txt, "w") as fp:
model.summary(print_fn=lambda x: fp.write(x + "\r\n"))
return model