如何打印 Keras 张量的值?

How to print the values of Keras tensors?

我有这段代码,我想打印 'out':

的 keras 张量值
import tensorflow as tf
from tensorflow.keras import Input

batch_size = 8
inp = Input(shape=(batch_size, 7, 7,2048))
inp = tf.squeeze(inp,axis=0)
print(inp.shape)
layer = Flatten()
out = layer(inp)
print(out.shape)
out = Dense(1,activation='sigmoid')(out)
print(out.shape)
print(layer.count_params())

我是 运行 googele colab 上的 Tensorflow 2.6.0,我尝试了很多方法来打印张量值,但没有任何效果。

您应该向您的模型提供一些数据,以便从您的图层中获取一些输出值。

import tensorflow as tf
from tensorflow.keras import Model
from keras.layers import Flatten, Dense, Input

### Model setup ###
inp = Input(shape=(7, 7,2048))
# inp = tf.squeeze(inp,axis=0) # ValueError: Graph disconnected
layer = Flatten()
out = layer(inp)
out = Dense(1,activation='sigmoid')(out)

model = Model(inputs=inp,outputs=out)

### Data ###
batch_size = 8
my_input = tf.random.uniform(shape=(batch_size,7,7,2048))

print(model(my_input)) # returns a tensor with the shape (batch_size,1)