【发布时间】:2021-06-26 22:26:27
【问题描述】:
有没有办法将 Keras 张量的值作为 numpy 数组获取?
正常的K.eval() 不起作用并导致:
AttributeError: 'KerasTensor' object has no attribute 'numpy'
我使用急切执行。
我需要它来访问和检查我的顺序模型的某些层的输出。示例:(out2 = K.eval(cnn.layers[2].output))
小例子:
import numpy
import tensorflow.keras.models as models
import tensorflow.keras.layers as layers
from keras import backend as K
cnn = models.Sequential([
layers.Conv2D(filters=64, kernel_size=3, activation='relu',
kernel_initializer='he_uniform', padding='same',
input_shape=(32,32,3))],
name='cnn')
res = cnn(numpy.random.random((1,32,32,3)))
print(K.eval(cnn.layers[0].output))
【问题讨论】:
-
您需要包含代码,因为没有上下文的张量实际上是不可评估的。
-
Tensorflow v1 还是 v2?
-
Tensorflow v2.5
-
你这里有一个 XY 问题,询问你认为解决问题的方法是什么,而不是询问实际问题。
标签: python tensorflow keras deep-learning