相关疑难解决方法(0)

如何从示例队列中将数据读入TensorFlow批处理?

如何将TensorFlow示例队列分成适当的批次进行培训?

我有一些图像和标签:

IMG_6642.JPG 1
IMG_6643.JPG 2
Run Code Online (Sandbox Code Playgroud)

(随意建议另一种标签格式;我想我可能需要另一个密集到稀疏的步骤......)

我已经阅读了不少教程,但还没有完全掌握.这就是我所拥有的,其中的注释表明了TensorFlow的阅读数据页面所需的步骤.

  1. 文件名列表(为简单起见,删除了可选步骤)
  2. 文件名队列
  3. 用于文件格式的Reader
  4. 用于读取器读取的记录的解码器
  5. 示例队列

在示例队列之后,我需要将此队列分批进行培训; 那就是我被困的地方......

1.文件名列表

files = tf.train.match_filenames_once('*.JPG')

4.文件名队列

filename_queue = tf.train.string_input_producer(files, num_epochs=None, shuffle=True, seed=None, shared_name=None, name=None)

读者

reader = tf.TextLineReader() key, value = reader.read(filename_queue)

6.解码器

record_defaults = [[""], [1]] col1, col2 = tf.decode_csv(value, record_defaults=record_defaults) (我认为我不需要下面的这一步,因为我已经将我的标签放在一个张量中,但我仍然包含它)

features = tf.pack([col2])

文档页面有一个运行一个图像的示例,而不是将图像和标签分成批次:

for i in range(1200): # Retrieve a single instance: example, label = sess.run([features, col5])

然后它下面有一个批处理部分:

def read_my_file_format(filename_queue):
  reader = tf.SomeReader()
  key, record_string = reader.read(filename_queue)
  example, label = …
Run Code Online (Sandbox Code Playgroud)

python numpy classification tensorflow

18
推荐指数
1
解决办法
3万
查看次数

GPU上的Tensorflow OOM

我正在使用Tensorflow中的LSTM-RNN训练一些音乐数据,并遇到了一些我不理解的GPU内存分配问题:我遇到一个OOM,而实际上似乎还有足够的VRAM可用.一些背景:我正在研究Ubuntu Gnome 16.04,使用的是GTX1060 6GB,Intel Xeon E3-1231V3和8GB RAM.所以现在首先是我能理解的错误消息的一部分,并且我将在最后为可能要求它提供帮助的任何人添加整个错误消息:

I tensorflow/core/common_runtime/bfc_allocator.cc:696] 8 Chunks of size 256 totalling 2.0KiB I tensorflow/core/common_runtime/bfc_allocator.cc:696] 1 Chunks of size 1280 totalling 1.2KiB I tensorflow/core/common_runtime/bfc_allocator.cc:696] 5 Chunks of size 44288 totalling 216.2KiB I tensorflow/core/common_runtime/bfc_allocator.cc:696] 5 Chunks of size 56064 totalling 273.8KiB I tensorflow/core/common_runtime/bfc_allocator.cc:696] 4 Chunks of size 154350080 totalling 588.80MiB I tensorflow/core/common_runtime/bfc_allocator.cc:696] 3 Chunks of size 813400064 totalling 2.27GiB I tensorflow/core/common_runtime/bfc_allocator.cc:696] 1 Chunks of size 1612612352 totalling 1.50GiB I tensorflow/core/common_runtime/bfc_allocator.cc:700] Sum Total of in-use chunks: 4.35GiB I tensorflow/core/common_runtime/bfc_allocator.cc:702] …

gpu out-of-memory vram tensorflow

13
推荐指数
2
解决办法
3万
查看次数

训练破坏了ResourceExausted错误

我是tensorflow和机器学习的新手.最近我正在研究一个模型.我的模型如下,

  1. 字符级嵌入向量 - >嵌入查找 - > LSTM1

  2. 字级嵌入矢量 - >嵌入查找 - > LSTM2

  3. [LSTM1 + LSTM2] - >单层MLP-> softmax层

  4. [LSTM1 + LSTM2] - >单层MLP-> WGAN鉴别器

  5. 他的模型代码

当我正在研究这个模型时,我得到了以下错误.我以为我的批次太大了.因此,我尝试将批量大小从20减少到10,但它不起作用.

ResourceExhaustedError(参见上面的回溯):OOM在分配张量形状时[24760,100] [[节点:字符/ bidirectional_rnn/bw/bw/while/bw/lstm_cell/split = Split [T = DT_FLOAT,num_split = 4,_device] ="/ job:localhost/replica:0/task:0/device:GPU:0"](gradients_2/Add_3/y,chars/bidirectional_rnn/bw/bw/while/bw/lstm_cell/BiasAdd)] [[Node :bi-lstm/bidirectional_rnn/bw/bw/stack/_167 = _Recvclient_terminated = false,recv_device ="/ job:localhost/replica:0/task:0/device:CPU:0",send_device ="/ job:localhost /副本:0 /任务:0 /设备:GPU:0",send_device_incarnation = 1,tensor_name ="edge_636_bi-lstm/bidirectional_rnn/bw/bw/stack",tensor_type = DT_INT32,_device ="/ job:localhost/replica:0 /任务:0 /装置:CPU:0" ]]

张量形状[24760,100]表示2476000*32/8*1024*1024 = 9.44519043 MB内存.我在Titan X(11 GB)GPU上运行代码.怎么可能出错?为什么会发生这种错误?

*额外信息*:LSTM1的大小为100.对于双向LSTM,它变为200.LSTM2的大小为300.对于双向LSTM,它变为600.

*注*:错误发生在32个纪元之后.我的问题是为什么在32个时代之后出现了错误.为什么不在最初的时代.

python batch-processing tensorflow

13
推荐指数
1
解决办法
1919
查看次数