栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

TensorFlow:用我自己的图像训练

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TensorFlow:用我自己的图像训练

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


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

随着

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

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

代码是:

# step 1filenames = 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_depred = tf.image.depre_jpeg(image_string, channels=3)    image = tf.cast(image_depred, tf.float32)    return image, labeldataset = dataset.map(_parse_function)dataset = dataset.batch(2)# step 4: create iterator and final input tensoriterator = dataset.make_one_shot_iterator()images, labels = iterator.get_next()

现在我们可以直接运行,

sess.run([images, labels])
而无需通过占位符提供任何数据。


旧答案(使用TensorFlow队列)

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

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

最简单的代码是:

# step 1filenames = ['im_01.jpg', 'im_02.jpg', 'im_03.jpg', 'im_04.jpg']# step 2filename_queue = tf.train.string_input_producer(filenames)# step 3: read, depre and resize imagesreader = tf.WholeFileReader()filename, content = reader.read(filename_queue)image = tf.image.depre_jpeg(content, channels=3)image = tf.cast(image, tf.float32)resized_image = tf.image.resize_images(image, [224, 224])# step 4: Batchingimage_batch = tf.train.batch([resized_image], batch_size=8)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号