如何使用Python中的Tensorflow添加批次维度并将图像传递给模型?
Tensorflow可以通过将图像转换为Numpy数组来添加批次维度并将图像传递给模型。
至少包含一层的神经网络称为卷积层。我们可以使用卷积神经网络来构建学习模型。
我们使用Google Colaboratory来运行下面的代码。 Google Colab或Colaboratory通过浏览器运行Python代码,无需配置,并免费访问GPU(图形处理单元)。 Colaboratory基于Jupyter Notebook构建。
图像分类的转移学习背后的直觉是,如果模型在大型和通用数据集上进行训练,那么该模型可以用于有效地作为视觉世界的通用模型。它将学习功能映射,这意味着用户不必从头开始通过对大数据集进行大规模训练来训练大型模型。
TensorFlow Hub是包含预训练TensorFlow模型的存储库。
我们将了解如何使用TensorFlow Hub中的模型进行tf.keras,使用TensorFlow Hub的图像分类模型。完成此操作后,可以执行传递学习以精细调整自定义图像类的模型。这是通过使用预训练的分类器模型来获取图像并预测它是什么来完成的。这可以在不需要任何培训的情况下完成。
示例
grace_hopper = np.array(grace_hopper)/255.0
print("图像的维度是")
print(grace_hopper.shape)
result = classifier.predict(grace_hopper[np.newaxis, ...])
print("结果图片的尺寸为")
print(result.shape)
predicted_class = np.argmax(result[0], axis=-1)
print("预测类别为")
print(predicted_class)
代码来源 − https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub
输出
图像的维度是
(224, 224, 3)
结果图片的尺寸为
(1, 1001)
预测类别为
819
说明
- 添加了一个批处理维数。
- 将图像传递给模型。
- 结果是一个1001元素的对数向量。
- 这将针对图像评估每个类的概率。
更多Python相关文章,请阅读:Python 教程