发新帖

TF 一些常见的坑

[复制链接]
2484 45
回帖奖励 370 金币      回复本帖可获得 5 金币奖励! 每人限 1 次(中奖概率 50%)
Mr.HAN  TF荚荚  发表于 2018-7-3 15:44:28 | 显示全部楼层
我感觉是
0,1 [2, 2]
本楼点评(0) 收起
ViolinSolo  TF芽芽  发表于 2018-7-3 15:53:34 | 显示全部楼层
0, 1, [2, 2]

我觉得data iter这个东西贼坑,尤其是我想summary的时候
本楼点评(0) 收起
xuzjun  TF荚荚  发表于 2018-7-3 15:54:37 | 显示全部楼层
0
1
[2, 2]

本楼点评(1) 收起
Dieudonne  TF荚荚  发表于 2018-7-3 15:58:53 | 显示全部楼层
0
1
[2, 2]
本楼点评(0) 收起
hopelg  TF荚荚  发表于 2018-7-3 15:59:35 | 显示全部楼层

回帖奖励 +5 金币

还是要结合理论的书一起看才行
本楼点评(0) 收起
fantasycheng  TF荚荚  发表于 2018-7-3 16:04:44 | 显示全部楼层
0,
1,
[2, 2]
本楼点评(0) 收起
zhanys_7  TF荚荚  发表于 2018-7-3 16:05:14 | 显示全部楼层

回帖奖励 +5 金币

0
1
[2, 2]
本楼点评(0) 收起
小仙子的皮皮猪  TF荚荚  发表于 2018-7-3 16:06:37 | 显示全部楼层

本楼点评(0) 收起
gsherofly  TF荚荚  发表于 2018-7-3 16:20:56 | 显示全部楼层

回帖奖励 +5 金币

没遇到这个坑
本楼点评(0) 收起
neverchange  TF豆豆  发表于 2018-7-3 16:31:46 | 显示全部楼层

回帖奖励 +5 金币

>>> def _transformer(x): return x, x
...
>>> dataset=tf.data.Dataset.range(10).map(_transformer)
>>> iter = dataset.make_one_shot_iterator()
>>> x, y = iter.get_next()
>>> with tf.Session() as sess:
...     print(sess.run(x))
...     print(sess.run(y))
...     print(sess.run([x, y]))
...
0
1
[2, 2]
>>>
本楼点评(0) 收起
刘哥哥  TF荚荚  发表于 2018-7-3 16:32:45 | 显示全部楼层
因为iterator的机制是,每当当前图中的session run一次,那么就会调用 get_next()函数一次?
本楼点评(0) 收起
wxyhv  TF荚荚  发表于 2018-7-3 17:12:56 | 显示全部楼层

回帖奖励 +5 金币

哇!谢谢前辈的分享
本楼点评(0) 收起
wxyhv  TF荚荚  发表于 2018-7-3 17:24:43 | 显示全部楼层
感觉aacoda好可以
本楼点评(0) 收起
ves  TF荚荚  发表于 2018-7-3 17:25:54 | 显示全部楼层

回帖奖励 +5 金币

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
0
1
[2, 2]

:)
本楼点评(0) 收起
ViolinSolo  TF芽芽  发表于 2018-7-3 20:20:42 | 显示全部楼层

回帖奖励 +5 金币

收藏收藏,iter全是坑
本楼点评(0) 收起
Lemon  TF荚荚  发表于 2018-7-3 20:28:16 | 显示全部楼层

回帖奖励 +5 金币

0
1
[2,2]
本楼点评(0) 收起
dear  TF荚荚  发表于 2018-7-3 23:03:47 | 显示全部楼层
升级tensorflow到1.8,问题解决
本楼点评(0) 收起
jka  TF荚荚  发表于 2018-7-4 10:24:33 | 显示全部楼层
其实anaconda还是不错的 挺省心
本楼点评(0) 收起
jka  TF荚荚  发表于 2018-7-4 10:25:16 | 显示全部楼层
就是py3和py2有些不太兼容 tf有时候有bug
本楼点评(0) 收起
jka  TF荚荚  发表于 2018-7-4 10:27:02 | 显示全部楼层
转发一个:
GPU溢出OOM问题
报错大致如下:
ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[]......
1
尝试:
我需要跑大概10000张图片,大小为256x256,通道为RGB3通道。最开始请教实验室同学说是因为图片太大,batch_size调小点。然而,

num = 100, batch_size = 32 # 尝试了100张图片,训练了几百轮报上述错误OOM
num = 500, batch_size = 16或8 # 依然如故
num = 1000, batch_size = 1 # 这时跑了很久,但还是不行,我想跟batch_size无关了
... # 后面我尝试调了图片训练数量和batch_size
1
2
3
4
猜测:
与batch_size和训练集图片数量无关。

解决:
查看代码,看了几遍发现只有如下部分疑似有问题:

with tf.Session() as sess:
    for t in range(0, num-batch_size, batch_size)
        xs_batch, ys_batch =  sess.run([X_train[t:t+batch_size],Y_train[t:t+batch_size]])
1
2
3
改动后,如下:

with tf.Session() as sess:
        # sess.run(tf.global_variables_initializer())
        saver.restore(sess, model_path)
        # writer = tf.summary.FileWriter('./graphs', sess.graph)
        for i in range(iters):
            for t in range(0, train_num-batch_size, batch_size):
                xs_batch, ys_batch = inputs(t, t+batch_size)
                sess.run(train_step, feed_dict={xs:xs_batch, ys:ys_batch})
                if t % 10 == 0:
                    cost = sess.run(cost_function, feed_dict={xs: xs_batch, ys: ys_batch})
                    print('iters:%s, batch_add:%s, loss:%s' % (i, t, cost))
                    file_log.write('iters:%s, batch_add:%s, loss:%s \n' % (i, t, cost))
            if i % 100 == 0:
                saver.save(sess, model_path)

    # writer.close()
    sess.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
总结
sess.run()不能频繁使用,尤其是处理大数据集的时候,尽量避免sess.run(),如果只是简单的预测值无所谓,而且尽量避免sess.run()放入循环里面。

本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表