当前位置: 首页 > 面试题库 >

TensorFlow:用我自己的图像训练

子车俊材
2023-03-14
问题内容

我是TensorFlow的新手。我正在寻找有关图像识别的帮助,可以在其中 训练自己的图像 数据集。

有没有训练新数据集的示例?


问题答案:

如果您对如何在TensorFlow中输入自己的数据感兴趣,可以查看本教程。
我也写与CS230的最佳做法指南在斯坦福这里。

新答案(带有tf.data)和带有标签

随着tf.datain的引入r1.4,我们可以创建一批没有占位符且没有队列的图像。步骤如下:

  1. 创建一个包含图像文件名的列表和相应的标签列表
  2. 创建tf.data.Dataset读取这些文件名和标签
  3. 预处理数据
  4. 从创建一个迭代器,该迭代器tf.data.Dataset将产生下一批

代码是:

# step 1
filenames = tf.constant(['im_01.jpg', 'im_02.jpg', 'im_03.jpg', 'im_04.jpg'])
labels = tf.constant([0, 1, 0, 1])

# step 2: create a dataset returning slices of `filenames`
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))

# step 3: parse every image in the dataset using `map`
def _parse_function(filename, label):
    image_string = tf.read_file(filename)
    image_decoded = tf.image.decode_jpeg(image_string, channels=3)
    image = tf.cast(image_decoded, tf.float32)
    return image, label

dataset = dataset.map(_parse_function)
dataset = dataset.batch(2)

# step 4: create iterator and final input tensor
iterator = dataset.make_one_shot_iterator()
images, labels = iterator.get_next()

现在我们可以直接运行,sess.run([images, labels])而无需通过占位符提供任何数据。

旧答案(使用TensorFlow队列)

概括起来,您有多个步骤:

  1. 创建文件名列表(例如:图像的路径)
  2. 创建一个TensorFlow 文件名队列
  3. 读取和解码每个图像,将它们调整为固定大小(批处理必需)
  4. 输出一批这些图像

最简单的代码是:

# step 1
filenames = ['im_01.jpg', 'im_02.jpg', 'im_03.jpg', 'im_04.jpg']

# step 2
filename_queue = tf.train.string_input_producer(filenames)

# step 3: read, decode and resize images
reader = tf.WholeFileReader()
filename, content = reader.read(filename_queue)
image = tf.image.decode_jpeg(content, channels=3)
image = tf.cast(image, tf.float32)
resized_image = tf.image.resize_images(image, [224, 224])

# step 4: Batching
image_batch = tf.train.batch([resized_image], batch_size=8)


 类似资料:
  • 当我在容器tensorflow/tensorflow:LastGPU中运行tensorflow映像训练作业时,它不工作。 错误消息: GPU info: nvidia-smi周一11月26 07:48:59 2018 ----------------------------------------------------------------------------- | NVIDIA-SMI

  • 问题内容: 我一直在使用Tensorflow库来完成这些教程。现在我想使用自己的数据,但是我失败了。这也许是一个菜鸟问题,但我无法弄清楚。 我正在使用此示例:[https]( https://github.com/aymericdamien/TensorFlow- Examples/blob/master/examples/3%20-%20Neural%20Networks/convolution

  • 问题内容: 这是我最后一个问题的后续,从Pandas数据帧转换为TensorFlow张量对象 我现在处于下一步,需要更多帮助。我正在尝试替换此行代码 替换我自己的数据。我找到了这个答案:TensorFlow教程batch_xs,batch_ys = mnist.train.next_batch(100)的next_batch来自哪里?但我不明白: 1)为什么.next_batch()在我的张量上不

  • 我发现很难创建自己的openNLP模型。谁能告诉我,如何拥有自己的模型。培训应该如何进行。 输入应该是什么,输出模型文件将存储在哪里。

  • 本文向大家介绍Tensorflow 训练自己的数据集将数据直接导入到内存,包括了Tensorflow 训练自己的数据集将数据直接导入到内存的使用技巧和注意事项,需要的朋友参考一下 制作自己的训练集 下图是我们数据的存放格式,在data目录下有验证集与测试集分别对应iris_test, iris_train 为了向伟大的MNIST致敬,我们采用的数据名称格式和MNIST类似 classificati

  • 本文向大家介绍详解如何用TensorFlow训练和识别/分类自定义图片,包括了详解如何用TensorFlow训练和识别/分类自定义图片的使用技巧和注意事项,需要的朋友参考一下 很多正在入门或刚入门TensorFlow机器学习的同学希望能够通过自己指定图片源对模型进行训练,然后识别和分类自己指定的图片。但是,在TensorFlow官方入门教程中,并无明确给出如何把自定义数据输入训练模型的方法。现在,