国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

解決TensorFlow訓(xùn)練內(nèi)存不斷增長,進(jìn)程被殺死問題

2020-02-15 21:23:31
字體:
供稿:網(wǎng)友

TensorFlow訓(xùn)練時(shí),遇到內(nèi)存不斷增長,最終導(dǎo)致內(nèi)存不足,進(jìn)程被殺死。

在這里我不準(zhǔn)備對(duì)造成這一現(xiàn)象的所有原因進(jìn)行探討,只是記錄一下我在項(xiàng)目中遇到的這一問題,下面將對(duì)我遇到的內(nèi)存不斷增長的原因進(jìn)行分析。

在TensorFlow中構(gòu)造圖,是將一些op作為節(jié)點(diǎn)加入圖中,在run之前,是需要構(gòu)造好一個(gè)圖的,所以在run的時(shí)候,如果run圖中不存在的節(jié)點(diǎn),TensorFlow就會(huì)將節(jié)點(diǎn)加入圖中,隨著不斷的迭代,造成內(nèi)存不斷的增長,從而導(dǎo)致內(nèi)存不足。

下面舉一個(gè)很容易發(fā)現(xiàn)這個(gè)問題的例子:

import tensorflow as tfx = tf.Variable(tf.constant(1))y = tf.constant(2)sess = tf.Session()sess.run(tf.global_variables_initializer())while True: print(sess.run(x+y))

在上面的例子中,x,y是圖中的兩個(gè)節(jié)點(diǎn),在while循環(huán)中run(x)或者run(y)都是不存在問題的,但是上例中我們使用的時(shí)run(x+y),而在TensorFlow的圖中是不存在x+y這個(gè)節(jié)點(diǎn)的,所以在run的時(shí)候,圖中會(huì)不斷的創(chuàng)建該節(jié)點(diǎn),最終導(dǎo)致了內(nèi)存不足。這個(gè)例子很容易理解,這樣的問題也很容易發(fā)現(xiàn)。

下面,將舉一個(gè)不是那么容易發(fā)現(xiàn)的問題:

import tensorflow as tftest = tf.get_variable('test', shape=[4, 1], initializer=tf.random_normal_initializer(stddev=0.1))init_op = tf.global_variables_initializer()with tf.Session() as sess: sess.run(init_op) print(sess.run(test[0]))

這個(gè)例子是創(chuàng)建一個(gè)shape為[4,1]的變量對(duì)象,test為圖中的一個(gè)節(jié)點(diǎn),但是在我們實(shí)際使用時(shí),我們可能并不需要test里的所有數(shù)據(jù),加入只需要一個(gè)數(shù)據(jù)test[0],當(dāng)我們使用run(test[0])時(shí),test[0]并不是圖中的節(jié)點(diǎn),該節(jié)點(diǎn)就會(huì)在圖中創(chuàng)建。上面的例子并沒有使用循環(huán),所以增加了節(jié)點(diǎn),但是也不會(huì)造成內(nèi)存的不足,當(dāng)使用了循環(huán)時(shí),就需要注意了。

解決辦法:run圖中存在的節(jié)點(diǎn),對(duì)返回的結(jié)果進(jìn)行處理,得到想要的結(jié)果,不要在run里面對(duì)節(jié)點(diǎn)處理(處理后的節(jié)點(diǎn)可能不是圖中的節(jié)點(diǎn))。

以上這篇解決TensorFlow訓(xùn)練內(nèi)存不斷增長,進(jìn)程被殺死問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 垣曲县| 姜堰市| 崇左市| 墨脱县| 鄂伦春自治旗| 宣汉县| 乌鲁木齐县| 眉山市| 恩施市| 汤原县| 布拖县| 独山县| 肃宁县| 敦煌市| 交城县| 克东县| 福建省| 长乐市| 辽中县| 榕江县| 射阳县| 兴仁县| 友谊县| 白玉县| 安泽县| 芒康县| 定襄县| 定南县| 彰武县| 溧水县| 五家渠市| 漳平市| 中方县| 潼关县| 黄山市| 文安县| 上思县| 平阳县| 湛江市| 盘山县| 本溪|