tf.keras.layers.reshape使用例子
时间: 2023-10-14 21:28:44 浏览: 75
假设我们有一个形状为 (32, 32, 3) 的图像张量,我们想将其变形为形状为 (3072,) 的向量,可以使用 tf.keras.layers.reshape。下面是一个使用例子:
```python
import tensorflow as tf
# 构造一个形状为 (32, 32, 3) 的图像张量
img = tf.ones((32, 32, 3))
# 将图像张量变形为形状为 (3072,) 的向量
flatten = tf.keras.layers.Flatten()(img)
print("原始图像张量形状:", img.shape)
print("变形后的张量形状:", flatten.shape)
```
输出结果如下:
```
原始图像张量形状: (32, 32, 3)
变形后的张量形状: (3072,)
```
tf.keras.layers.Flatten() 实际上是一个特殊的 tf.keras.layers.Reshape 层,它可以将任意形状的输入变形成扁平化的形状。如果我们想将一个形状为 (32, 32, 3) 的图像张量变形成形状为 (32, 96) 的张量,可以使用下面的代码:
```python
import tensorflow as tf
# 构造一个形状为 (32, 32, 3) 的图像张量
img = tf.ones((32, 32, 3))
# 将图像张量变形为形状为 (32, 96) 的张量
reshaped = tf.keras.layers.Reshape((32, 96))(img)
print("原始图像张量形状:", img.shape)
print("变形后的张量形状:", reshaped.shape)
```
输出结果如下:
```
原始图像张量形状: (32, 32, 3)
变形后的张量形状: (32, 96)
```
阅读全文