tensorflow - 类似 MNIST 的问题。卷积神经网络

标签 tensorflow machine-learning neural-network computer-vision mnist

这对某些人来说应该很容易,但我对 Tensorflow 有点陌生,我所有的研究都让我接触了数千行 git,我只是好奇对于初学者来说是否有更简单的替代方案。我有一个想法,输入 200x260 彩色图像并输出 1-10 之间的 one-hot 矢量。我意识到它与 MNIST 非常相似,但 Tensorflow 没有任何关于 mnist 库如何将其图像转换为可用形式的文档。有人有什么想法可以将一个包含大约 200 张图像的文件夹(是的,我知道,很小)变成可用的形式?我已经有了我的独热向量。另外,我将占位符形状设置为 tf.placeholder(tf.float32,[None, 200, 260, 3]) 这可行吗?我真的更喜欢保持颜色。感谢您的任何提示!

最佳答案

首先,您可以使用 skimage 中的 imread 导入所有图像

例如:

my_image = skimage.io.imread('./path/myimage.png')

然后,如果它们都达到您想要的大小 (200x260),那么您可以通过将它们全部除以 255(标准化为 0 到 1 之间的值)来标准化它们。如果没有,您可以使用 skimage 中的 resize,这将自动为您调整图像大小并标准化图像。

例如

my_image = skimage.transform.resize(my_image, (200, 260))

要可视化它,您可以使用 matplotlib.pyplot 中的 imshow 来绘制图像。

对于Tensorflow中内置的方便的next_batch函数来获取下一个批处理,您可以使用以下代码

i = 0
def next_batch(batch_size):
    x = training_images[i:i + batch_size]
    y = training_labels[i:i + batch_size]
    i = (i + batch_size) % len(training_images)
    return x, y

然后您可以创建 CNN 并训练图像。您为 X 创建的占位符看起来正确。

关于tensorflow - 类似 MNIST 的问题。卷积神经网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48657475/

相关文章:

c++ - TensorFlow图像识别输出格式c++

machine-learning - 迭代应用 keras 模型 fit() 时的学习率状态如何?

python - 当存在 GPU 时,如何在 TensorFlow 的单个脚本中训练多个模型?

machine-learning - 神经网络特征组合学

python - 如何在 tensorflow 中将我的三个 2D 张量组合成一个 3D 张量?

python - 在 channel 上重复一个数组

python 类型提示 - 可以使用 tensorflow 数据类型吗?

batch-file - 反向传播和批量训练

python - 在Python中对20个新闻组数据集进行排序

neural-network - 如何在 pytorch 中使用 tensorboard 调试器?