- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们将数据存储在.tfrecord
文件中,X
是我们的训练数据> 40x40
灰度图像和Y
: 是标签。这些图像按顺序排列(顺序很重要)。我们想使用 Tensorflows Estimator API 输入这些图像,以使用 GoogleML 训练具有各种时间窗口大小和偏移的神经网络模型(例如:LSTM)。
如何将输入的特征字符串 reshape 为一定长度的序列,例如将 1000
图像放入一个序列中,然后对这些序列执行窗口操作,例如获取包含 50
个图像的窗口,窗口偏移 25
?
我们已经设法实现了这一点(下面的稀疏示例),而无需首先重新整形为 1000 个长度集,但随后结果是从一个集合的元素 975 到下一个集合的元素 25 的窗口,我们这样做不想。 我们需要从每组 1000
图像的开始到结束的重叠窗口,但不能跨越它们的边界。
import tensorflow as tf
# .tfrecord file consisting of data 'X' and labels 'Y'
dataset = tf.data.TFRecordDataset('.tfrecord file')
# define parse function for dataset.map function
def _parse_function(proto):
# define constants for parsing
image_size = 40
num_channels = 1
num_classes = 3
# define your tfrecord feature keys and
# reshape 1D arrays into 2D arrays (images)
keys_to_features = {'X': tf.FixedLenFeature([image_size, image_size, num_channels], tf.float32), # image height, image width, num_channels
'Y': tf.FixedLenFeature([], tf.int64)}
# Load one example
parsed_features = tf.parse_single_example(proto, keys_to_features)
# extract image and labels
image = parsed_features['X']
labels = tf.cast( parsed_features['Y'], tf.int32 )
labels = tf.one_hot( labels, depth=num_classes ) # one hot encoding
return image, labels
# reshape the data into parse format
dataset = dataset.map(_parse_function)
# define dataset parameters
window_size = 50
batch_size = 500
window_shift = int( window_size / 2 ) # 25
# implement sliding window
dataset = dataset.window(size=window_size, shift=window_shift, drop_remainder=True ).flat_map( lambda x: x.batch(window_size) )
# batch the data
dataset = dataset.batch(batch_size)
# create an iterator
# iterator = dataset.make_one_shot_iterator().get_next()
上面的迭代器
将为X
数据返回一个形状张量(batch_size, window_size, image_height, image_width, number of channels),在我们的例子中( 500, 50, 40, 40, 1)
和 Y
作为 (500, 3)
数组。
最佳答案
我设法通过过滤掉跨越边界的窗口来做到这一点。获得解析后的功能后,对所有内容应用窗口,然后计算哪些窗口溢出并将其过滤掉:
ds = tf.data.TFRecordDataset( filename )
ds = ds.map( _parse_function )
# apply windowing
ds = ds.window( size=50, shift=25, drop_remainder=True ).flat_map( lambda x, y: tf.data.Dataset.zip( (x.batch(50), y.batch(50)) ) )
# enumerate dataset and filter every 40th window
ds = ds.apply( tf.data.experimental.enumerate_dataset(start=1) ).filter( lambda i, x: tf.not_equal( i % 40, 0) )
# get rid of enumerations
ds = ds.map( lambda i, x: x )
# batching, shuffling etc...
...
澄清:过滤掉每 40 个窗口,因为如果您有 1000 组和 25 个窗口偏移,将有 set_len/win_shift = 40
个窗口,最后一个(即第 40 个)将是溢出到下一组。另请注意,枚举从 1 开始,因此不会取出第 0 个样本,因为 0 % x == 0
。
请注意,这与其说是一个真正的解决方案,不如说是一种黑客攻击。它适用于 50% 的重叠,但在其他百分比下,计算要丢弃的索引会变得更加复杂(如果重叠 >50%,则不止一个窗口会溢出到下一组,因此需要多个过滤器)。
关于python - 如何在 tensorflow 中实现图像(二维数组)序列滑动窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54745903/
这是在我的 MainActivity 中用作 BroadcastReceiver 的代码 mRegistrationBroadcastReceiver = new BroadcastRecei
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我想在大部分时间隐藏 UISearchBar,只在用户需要时调用它来显示。 我在 Interface Builder 中放置了一个 UISearchBar 并将其隐藏在 View 后面,当用户单击按钮
我有一个包含 CCMenuItemImage 的菜单(“myMenu”)。我希望此菜单能够检测手指滑动并相应地滑动。 我的问题是 CCMenuItemImage 似乎吸收了触摸事件。当用户触摸 CCM
我正在寻找一个简单的 jQuery 或 Javascript 解决方案,以使导航侧边栏在用户向下滚动页面时顺利跟随用户。像这里一样:http://ucon-acrobatics.com/shop/ 任
我有一个 ListView 控件来显示项目,我想提供一个滑动/滑动手势来选择一个项目。我用 GestureRecognizer类来识别交叉滑动手势,但我还想通过水平移动选择的项目来为这个手势设置动画。
我想将 String 行标记化为标记(存储到 String 表中),并且我只能使用 java.io.*它是为了实现一个计算器。 例如:第一行:1+2+3第二行:1+ 2*3(标记之间有空格) 进入表{
我有一个 ListView 控件来显示项目,我想提供一个滑动/滑动手势来选择一个项目。我用 GestureRecognizer类来识别交叉滑动手势,但我还想通过水平移动选择的项目来为这个手势设置动画。
我有一个导航栏,当单击菜单图标时,它将滑入“#secondary-nav”并隐藏“#primary-nav”。然而 jquery 似乎没有显示“#secondary-menu”。下面提供的是 HTMl
这个问题已经有答案了: how to make a sliding up panel like the Google Maps app? (2 个回答) 已关闭 7 年前。 我正在寻找类似的实现,如下
我有 ViewPager(Slide) 和 3 张图片。共有三个图像是通过 Internet 下载的。如果我将图片换到服务器上的另一台服务器上,链接保持不变,但应用程序中的图片没有改变,仍然是缓存中的
我在 gridview 中创建了两个按钮。 我想达到以下目的,但不知道应该用什么方法? 首先我触摸第一个按钮,将显示 toast 1 msg。通过将我的手指滑到第二个按钮而不抬起我的手指,将显示 to
所以我设置了一个小的 jquery 动画,用户将鼠标悬停在容器上一段时间,这会导致容器 split ,然后显示内部信息。 我不希望鼠标一进入容器就开始动画,所以我在动画上放了一个delay()。现在动
这个问题在这里已经有了答案: Simulate swipe with mouse in javascript (5 个答案) 关闭 7 年前。
我希望我的 Sprite 像在冰上一样滑动。因此,如果他在地面上,那么他可以正常行走,但当他接触冰时,他会滑动,直到有东西阻止他。有谁知道如何才能做到这一点?谢谢 最佳答案 像“Sprite Move
我的代码有几个问题:HTML: Bellevue
我正在尝试实现从 fragment1 过渡到 fragment2 的滑动动画。我正在使用 setCustomAnimations 方法。而且我知道我需要使用框架方法来替换 fragment 。 我的代
我不知道你们是否听说过 app chomp,但应用程序中有一个布局,如下图所示。我想知道他们是如何设置的,我将如何使用它来为我自己的应用程序制作类似的东西。有趣的是,当你滑动时,没有像水平 Scrol
我想检测用户何时在一个单元格占据整个屏幕宽度的 collectionView 中向左或向右滑动。是否可以不添加手势识别器。我试过添加手势识别器,但只有当我们将 collectionView 的 scr
我正在尝试开发一个应用程序来复制类似 tinder 的基于滑动的提要。该应用程序的想法与火种非常相似,也具有向右滑动和向左滑动匹配功能。 到目前为止我做了什么-我在 MongoDB 中创建了一个刷卡集
我是一名优秀的程序员,十分优秀!