Tensorflow:更改从检查点获取的张量的尺寸并将其保存到另一个检查点

时间:2019-03-13 09:50:49

标签: python tensorflow

我正在尝试读取ckpt文件,并将最后一层的尺寸从[29]更改为[32],并将其存储到新的ckpt文件中。 到目前为止,我已经尝试过:

tf.reset_default_graph()
b6_1 = tf.get_variable(name='b6_1', shape=[32],initializer=tf.zeros_initializer)

with tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) as session:
        b6_1.initializer.run()
        #b6_2 = tf.convert_to_tensor(b6_1)

        saver1 = tf.train.import_meta_graph("/docker_files/checkpoints_0_4_1_mozilla/model.v0.4.1.meta")
        saver1.restore(session,'/docker_files/checkpoints_0_4_1_mozilla/model.v0.4.1')
        graph = tf.get_default_graph()
        b6 = graph.get_tensor_by_name("b6:0")
        print(b6)
        assign_1 = tf.assign(b6,b6_1)
        session.run(assign_1)
        print(b6)

似乎不正确,因为我正面临以下问题:

  

ValueError:两个形状的尺寸0必须相等,但必须为29并且   32.形状为[29]和[32]。输入形状为[29],[32]的“分配”(操作:“分配”)。

有关如何进行操作或任何其他方法的任何建议。

0 个答案:

没有答案