迫使喀拉拉邦进行评估

时间:2018-08-17 19:57:00

标签: tensorflow keras

我正在使用cifar10_cnn.py并对其进行修改,以便可以生成自己的内核。 (尝试一个新的想法)。我的代码照常设置了Sequential,并编译了模型,然后使用显式python代码生成了CNN内核,并将其复制到模型中。接下来,我在单个图像上调用model.predict,效果很好。 喜欢...

print('layer_conv2d_2')
for img in x_train:
    print('Image %d of %d' % (imgn, x_train.shape[0]))
    img = np.expand_dims(img, axis=0)
    # t1 is (32,32)
    t1: tf.Tensor = layer_conv2d_1.output[0,:,:,0]
    prt = keras.backend.print_tensor(t1, 'T1 is ')
    a = model.predict(img)
    t2: tf.Tensor = layer_conv2d_1.output[0,:,:,0]
    prt = keras.backend.print_tensor (t2, 'T2 is ')
    pass

print_tensor永远不会发生。在文档中有一条注释,必须稍后使用“ print_tensor的返回值”才能使print_tensor在计算图中执行。我试着将n = prt [0,0]放在那儿,但什么也没做,可能是因为从未使用过n。

如何强制变量被“使用”?

1 个答案:

答案 0 :(得分:0)

好吧,经过对Tensorflow的大量研究和一般工作,我意识到这个问题实际上是在试图迫使Tensorflow进入程序范式。需要将Tensorflow视为一种延迟的执行图和功能语言。这不是C ++或C#风格的过程思维。