在 Python 中,获取 tensorflow2 模型训练的图像大小?
Posted
技术标签:
【中文标题】在 Python 中,获取 tensorflow2 模型训练的图像大小?【英文标题】:In Python, getting size of images tensorflow2 model trained on? 【发布时间】:2022-01-12 18:02:38 【问题描述】:我正在使用以下方法加载模型:
m = tf.saved_model.load(str(model_path))
我希望能够获取有关模型训练的图像大小的信息,以便调整我想要推断的新图像的大小。
我知道我可以使用 keras 模型:
shape_0 = m.layers[0].output_shape
input_height = shape_0[1]
input_width= shape_0[2]
获取训练图像的输入高度和宽度。
是否有类似的命令可以从 tensorflow2 模型中获取这些值?
【问题讨论】:
好的,非常感谢。 【参考方案1】:使用model.signatures['serving_default']
:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Conv2D(16, 3, padding='same', activation='relu', input_shape=(128, 128, 3)),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(32, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(64, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(5)
])
tf.saved_model.save(model, '/content/model')
imported_model = tf.saved_model.load('/content/model')
print(imported_model.signatures['serving_default'])
INFO:tensorflow:Assets written to: /content/model/assets
ConcreteFunction signature_wrapper(*, conv2d_3_input)
Args:
conv2d_3_input: float32 Tensor, shape=(None, 128, 128, 3)
Returns:
'dense_4': <1>
<1>: float32 Tensor, shape=(None, 5)
【讨论】:
以上是关于在 Python 中,获取 tensorflow2 模型训练的图像大小?的主要内容,如果未能解决你的问题,请参考以下文章
anaconda+tensorflow2.2+python3.7安装
python3.7安装Anaconda3+tensorflow2.1中遇到的问题
知识图谱中“三元组”抽取——Python中模型总结实战(基于TensorFlow2.5)
5.6 tensorflow2实现奇异值分解(SVD)——python实战(下篇)