最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Tensorflow訓(xùn)練模型越來越慢的2種解決方案

 更新時(shí)間:2020年02月07日 09:57:20   作者:xdq101  
今天小編就為大家分享一篇Tensorflow訓(xùn)練模型越來越慢的2種解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

1 解決方案

【方案一】

載入模型結(jié)構(gòu)放在全局,即tensorflow會話外層。

'''載入模型結(jié)構(gòu):最關(guān)鍵的一步'''
saver = tf.train.Saver()
'''建立會話'''
with tf.Session() as sess:
 for i in range(STEPS):
 '''開始訓(xùn)練'''
 _, loss_1, acc, summary = sess.run([train_op_1, train_loss, train_acc, summary_op], feed_dict=feed_dict)
 '''保存模型'''
 saver.save(sess, save_path="./model/path", i)

【方案二】

在方案一的基礎(chǔ)上,將模型結(jié)構(gòu)放在圖會話的外部。

'''預(yù)測值'''
train_logits= network_model.inference(inputs, keep_prob)
'''損失值'''
train_loss = network_model.losses(train_logits)
'''優(yōu)化'''
train_op = network_model.train(train_loss, learning_rate)
'''準(zhǔn)確率'''
train_acc = network_model.evaluation(train_logits, labels)
'''模型輸入'''
feed_dict = {inputs: x_batch, labels: y_batch, keep_prob: 0.5}
'''載入模型結(jié)構(gòu)'''
saver = tf.train.Saver()
'''建立會話'''
with tf.Session() as sess:
 for i in range(STEPS):
 '''開始訓(xùn)練'''
 _, loss_1, acc, summary = sess.run([train_op_1, train_loss, train_acc, summary_op], feed_dict=feed_dict)
 '''保存模型'''
 saver.save(sess, save_path="./model/path", i) 

2 時(shí)間測試

通過不同方法測試訓(xùn)練程序,得到不同的訓(xùn)練時(shí)間,每執(zhí)行一次訓(xùn)練都重新載入圖結(jié)構(gòu),會使每一步的訓(xùn)練時(shí)間逐次增加,如果訓(xùn)練步數(shù)越大,后面訓(xùn)練速度越來越慢,最終可導(dǎo)致圖爆炸,而終止訓(xùn)練。

【時(shí)間累加】

2019-05-15 10:55:29.009205: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
step: 0, time cost: 1.8800880908966064
step: 1, time cost: 1.592250108718872
step: 2, time cost: 1.553826093673706
step: 3, time cost: 1.5687050819396973
step: 4, time cost: 1.5777575969696045
step: 5, time cost: 1.5908267498016357
step: 6, time cost: 1.5989274978637695
step: 7, time cost: 1.6078357696533203
step: 8, time cost: 1.6087186336517334
step: 9, time cost: 1.6123006343841553
step: 10, time cost: 1.6320762634277344
step: 11, time cost: 1.6317598819732666
step: 12, time cost: 1.6570467948913574
step: 13, time cost: 1.6584930419921875
step: 14, time cost: 1.6765813827514648
step: 15, time cost: 1.6751370429992676
step: 16, time cost: 1.7304580211639404
step: 17, time cost: 1.7583982944488525

【時(shí)間均衡】

2019-05-15 13:03:49.394354: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 7048 MB memory) -> physical GPU (device: 1, name: Tesla P4, pci bus id: 0000:00:0d.0, compute capability: 6.1)
step: 0, time cost: 1.9781079292297363
loss1:6.78, loss2:5.47, loss3:5.27, loss4:7.31, loss5:5.44, loss6:6.87, loss7: 6.84
Total loss: 43.98, accuracy: 0.04, steps: 0, time cost: 1.9781079292297363
step: 1, time cost: 0.09688425064086914
step: 2, time cost: 0.09693264961242676
step: 3, time cost: 0.09671926498413086
step: 4, time cost: 0.09688210487365723
step: 5, time cost: 0.09646058082580566
step: 6, time cost: 0.09669041633605957
step: 7, time cost: 0.09666872024536133
step: 8, time cost: 0.09651994705200195
step: 9, time cost: 0.09705543518066406
step: 10, time cost: 0.09690332412719727

3 原因分析

(1) Tensorflow使用圖結(jié)構(gòu)構(gòu)建系統(tǒng),圖結(jié)構(gòu)中有節(jié)點(diǎn)(node)和邊(operation),每次進(jìn)行計(jì)算時(shí)會向圖中添加邊和節(jié)點(diǎn)進(jìn)行計(jì)算或者讀取已存在的圖結(jié)構(gòu);

(2) 使用圖結(jié)構(gòu)也是一把雙刃之劍,可以加快計(jì)算和提高設(shè)計(jì)效率,但是,程序設(shè)計(jì)不合理會導(dǎo)向負(fù)面,使訓(xùn)練越來約慢;

(3) 訓(xùn)練越來越慢是因?yàn)檫\(yùn)行一次sess.run,向圖中添加一次節(jié)點(diǎn)或者重新載入一次圖結(jié)構(gòu),導(dǎo)致圖中節(jié)點(diǎn)和邊越來越多,計(jì)算參數(shù)也成倍增長;

(4) tf.train.Saver()就是載入圖結(jié)構(gòu)的類,因此設(shè)計(jì)訓(xùn)練程序時(shí),若每執(zhí)行一次跟新就使用該類載入圖結(jié)構(gòu),自然會增加參數(shù)數(shù)量,必然導(dǎo)致訓(xùn)練變慢;

(5) 因此,將載入圖結(jié)構(gòu)的類放在全局,即只載入一次圖結(jié)構(gòu),其他時(shí)間只訓(xùn)練圖結(jié)構(gòu)中的參數(shù),可保持原有的訓(xùn)練速度;

4 總結(jié)

(1) 設(shè)計(jì)訓(xùn)練網(wǎng)絡(luò),只載入一次圖結(jié)構(gòu)即可;

(2) tf.train.Saver()就是載入圖結(jié)構(gòu)的類,將該類的實(shí)例化放在全局,即會話外部,解決訓(xùn)練越來越慢。

以上這篇Tensorflow訓(xùn)練模型越來越慢的2種解決方案就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

黔东| 紫金县| 青川县| 绩溪县| 连江县| 林甸县| 钟祥市| 吴忠市| 贵港市| 昭觉县| 宜春市| 平顺县| 阿合奇县| 万全县| 定边县| 淮滨县| 南雄市| 天台县| 扶风县| 广河县| 曲麻莱县| 金沙县| 巴林右旗| 蒲江县| 饶阳县| 民权县| 疏附县| 京山县| 叶城县| 诏安县| 廉江市| 和硕县| 富裕县| 常宁市| 噶尔县| 临漳县| 兴化市| 高安市| 信阳市| 钟山县| 盘山县|