- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 tensorflow 新手,需要帮助来管理我的图像数据集。由于图像集很大,阅读和训练阶段应该重叠。每个图像的宽度像素也比高度像素多得多。我需要将宽图像分割成正方形部分。由于图像的宽度不同,部分的数量也会变化。
它遵循我的示例代码,我需要帮助才能使其正常工作:
def main(unused_argv):
filenames = tf.constant(['im_01.png', 'im_02.png', 'im_03.png', 'im_04.png'])
labels = tf.constant([0, 1, 0, 1])
def parse_fn(file, label):
image = tf.image.decode_png(tf.read_file(file), channels=1)
shape_list = image.get_shape().as_list()
image_width = shape_list[0]
image_height = shape_list[1]
num_pieces = int(image_width/image_height)
Xy_pairs = []
for i in range(num_pieces):
offset_width = i * image_height
sub_image = tf.image.crop_to_bounding_box(image, 0, offset_width, image_height, image_height)
sub_image = tf.image.resize_images(sub_image, [128, 128])
Xy_pairs.append((sub_image, label))
return Dataset.from_tensor_slices(Xy_pairs)
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
dataset = dataset.flat_map(parse_fn)
sess = tf.InteractiveSession()
it = dataset.make_one_shot_iterator()
while True:
print('OUT: ' + it.get_next().eval())
错误看起来像这样 TypeError: unsupported operand type(s) for/: 'NoneType' and 'NoneType'
因为 tensorflow 在计算数据流图时不知道图像的大小。我很确定我需要像 image.get_shape()
的占位符之类的东西。我希望社区能够帮助我解决这个问题。
最佳答案
正如评论中所指出的,您的 image
形状在图表中未定义,因此尝试在评估之前获取值(通过 image.get_shape().as_list()
code>) 返回 (None, None, None)
。
要使图表中的所有内容都动态化,您可以使用 tf.while_loop()
而不是当前的 for
循环来提取补丁,如下所示(此代码可能需要一些调整):
import tensorflow as tf
filenames = tf.constant(['im_01.png', 'im_02.png', 'im_03.png', 'im_04.png'])
labels = tf.constant([0, 1, 0, 1])
patch_size = [128, 128]
def parse_fn(file, label):
image = tf.image.decode_png(tf.read_file(file), channels=1)
shape= tf.shape(image)
image_width = shape[1]
image_height = shape[0]
num_pieces = tf.div(image_width, image_height)
def tf_while_condition(index, outputs):
# We loop over the number of pieces:
return tf.less(index, num_pieces)
def tf_while_body(index, outputs):
# We get the image patch for the given index:
offset_width = index * image_height
sub_image = tf.image.crop_to_bounding_box(image, 0, offset_width, image_height, image_height)
sub_image = tf.image.resize_images(sub_image, patch_size)
sub_image = tf.expand_dims(sub_image, 0)
# We add it to the output patches (may be a cleaner way to do so):
outputs = tf.concat([outputs[:index], sub_image, outputs[index + 1:]], axis=0)
# We increment our index and return the values:
index = tf.add(index, 1)
return index, outputs
# We build our patches tensor which will be filled with the loop:
patches = tf.zeros((num_pieces, *patch_size, shape[2]), dtype=tf.float32)
_, patches = tf.while_loop(tf_while_condition, tf_while_body, [0, patches])
# We tile the label to have one per patch:
patches_labels = tf.tile(tf.expand_dims(label, 0), [num_pieces])
return tf.data.Dataset.from_tensor_slices((patches, patches_labels))
dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))
dataset = dataset.flat_map(parse_fn)
sess = tf.InteractiveSession()
it = dataset.make_one_shot_iterator()
op = it.get_next()
while True:
res = sess.run(op)
print(res)
关于python - Tensorflow:动态地将图像分割成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50176515/
实际上我只需要用JAVA编写一个简单的程序来将MySQL INSERTS行转换为CSV文件(每个mysql表等于一个CSV文件) 在JAVA中使用正则表达式是最好的解决方案吗? 我的主要问题是如何正确
我有一个 txt 文件,其格式为: Key:value Key:value Key:value ... 我想将所有键及其值放入我创建的 hashMap 中。如何让 FileReader(file) 或
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
我每周都会从我的主机下载数据库的备份。它生成一个 .sql 文件,当前大小约为 800mb。此 .sql 文件包含 44 个表。 有什么方法可以通过某些软件将 .sql 文件与所有表分开,以便单独导出
在 iOS 4.0 及更高版本中,有没有一种方法可以在不将整个图像加载到内存的情况下对 CGImage 进行分割?我试图做的是*以编程方式*分割图像,以便在使用大图像的 CATiledLayer 应用
我的 .split() 函数有问题,我有以下字符串: var imageUrl = "Images\Products\randomImage.jpg"; 我想用字符“\”分割,但是,这种情况发生了:
是否可以使用正则表达式将字符串拆分两次?例如,假设我有字符串: example=email@address.com|fname|lname 如何拆分结果为: email@address.com,fna
我正在寻找一种在线程系统(主从)中使用数组的解决方案,它允许我通过用户输入在多个线程上划分矩阵的计算,并将其通过 1 个主线程引导到多个从属线程,这些从属线程计算矩阵的 1 个字段。 我尝试运用我的知
我建立了一个系统来分割包含手写符号的二值图像并对它们进行分类(专门用于音乐)。我知道有商业应用程序可以执行此操作,但这是我尝试将其作为一个项目从头开始。 为了简单起见,假设我的整个图像中有两个元素:
我正在尝试找到一种可接受的复杂性的有效方法 检测图像中的对象,以便将其与周围环境隔离 将该对象分割成它的子部分并标记它们,这样我就可以随意获取它们 我进入图像处理世界已经 3 周了,我已经阅读了很多算
我有一组3D 空间中的点。下图是一个示例: 我想把这些点变成一个面。我只知道点的 X、Y 和 Z 值。例如,查看下图,它显示了从 3D 空间中的点生成的人脸网格。 我在谷歌上搜索了很多,但我找到的是一
我有一个字符串 String placeStr="place1*place2*place3"我想获取包含 place1、place2、place3 的数组,如下所示: String[] places=
我在 Python 中有一个类似于 google.com 的字符串,我想将其分成两部分:google 和 .com。问题是我有一个 URL,例如 subdomain.google.com,我想将其拆分
朋友需要对一个pdf文件进行分割,在网上查了查发现这个pypdf2可以完成这些操作,所以就研究了下这个库,并做一些记录。首先pypdf2是python3版本的,在之前的2版本有一个对应pypdf库。
伙计们,这是一个难以解决的问题,因为它涉及很多硬件细节,所以我想把它放到 EE.SE,但它的主要重点是编程,所以我决定坚持在这里。 我最近怀旧(以及渴望回到 CPU 内在函数),所以我决定自制一个 8
给定 haskell 中的排序列表,我如何获得分段列表,其中连续数字位于同一列表中。例如,如果我有一个排序列表 [1,2,3,4,7,8,10,12,13,15] 结果将是 [[1,2,3 ,4],[
如果我添加三个分割 View ,如下图所示,第三个分割 View (称为 splitView-3)将自动为该分割 View 中的自定义 View 生成约束,例如 customview1 的 Heigh
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 6 年前。 Improve th
如何为馈送给映射器的文件的每一行提供相同文件的拆分? 基本上我想做的是 for each line in file-split { for each line in file{
带有Snappy压缩功能的ORC文件是否可拆分成条形? 据我所知,Snappy Compressed File是不可拆分的。 但我在博客中读到,快速压缩的文件可以在 strip 上拆分。 真的吗? 最
我是一名优秀的程序员,十分优秀!