Tensorflow的名称范围在Tensorboard中不起作用

问题描述 投票:1回答:1
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
python tensorflow tensorboard
1个回答
0
投票

我自己解决了这个问题。这可能是由于pip和anaconda的碰撞。所以我在下面做了。

  1. 卸载所有pip软件包。

     $ pip freeze > piplist.txt
     $ sudo pip uninstall -r piplist.txt
    
  2. 卸载所有anaconda软件包。

卸载软件包。

    $ conda install anaconda-clean
    $ anaconda-clean

删除包后删除空文件夹。

    $ rm -fr ~/.anaconda_backup
    $ rm -fr /anaconda3

删除.bash_profile中的内容

    $ sudo nano .bash_profile
  1. 重新安装anaconda。从https://www.anaconda.com/distribution/下载

  2. 重新运行张量板。

    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
    

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.