填充相同的2d值以模拟Tensoflow中图像序列中的缺失

时间:2019-03-28 22:29:34

标签: tensorflow keras conv-neural-network recurrent-neural-network

首先,问题出在内存上,火车数据越轻,火车运行时间越快,可行性(内存限制)也越多,希望我可以尝试训练更可靠的变化。

我的火车数据是图像的有序序列,基本上是视频。以CNN为模型尝试LSTM;我需要估算缺失的帧以尽可能模拟现实。知道这一点可以帮助网络学习图像之间的时间距离。

我想填充图像列表,如果不存在,则会拍摄具有相同形状的黑色图像。

为帮助网络训练,我们可以将丢失的帧视为相同的常数,任何值都可以解决问题。因此,网络负担越轻,网络训练的速度就越快(尤其是在8000张火车图像列表上,我的计算机很难使用一组按时间分布的CNN和4个堆叠的LSTM层)。

填充例程:

black = np.full(shape=(120, 120), dtype= np.uint8 ,fill_value = 0)
for image_path in train_paths:
  if(not os.path.isfile(str(image_path))):
    train_images.append(black)
    co = co + 1
  else:
    train_images.append(imageio.imread(image_path))

黑色图像,对我来说似乎很浪费,我可以输入另一个形状张量吗?并让CNN层在运行时假定其为缺失值并通过?虽然仍未按照讨论的here

实施

这里进行了另一次讨论,暗示可以为CNN here使用稀疏矩阵,但是我不确定这是否是我所需要的。或者仅在特定情况下有效。

任何建议都值得欢迎。

0 个答案:

没有答案