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

解決keras+flask模型的重復(fù)調(diào)用出錯(cuò)ValueError: Tensor is not an element of this graph

 更新時(shí)間:2024年01月12日 08:48:56   作者:七彩吞天蟒  
這篇文章主要介紹了解決keras+flask模型的重復(fù)調(diào)用出錯(cuò)ValueError: Tensor is not an element of this graph問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

確認(rèn)基調(diào):這個(gè)問題不是大問題,看完本篇文章就能解決

1. 錯(cuò)誤重現(xiàn)

ValueError: Tensor Tensor("dense_3/BiasAdd:0", shape=(?, 1), dtype=float32) is not an element of this graph.

2. 錯(cuò)誤含義

表面含義:傳入的張量[tensor]并不是這個(gè)圖[graph]的元素。具體意義:就是說,當(dāng)你進(jìn)行模型預(yù)測(cè)的時(shí)候,傳入的數(shù)據(jù),和后臺(tái)的圖不匹配。

3. 解決方法

方法一

把keras的tensorflow的后端換成theano,具體操作不贅述

這個(gè)方法不推薦,因?yàn)椴]有實(shí)際解決問題,而是逃避問題,而且有可能會(huì)出現(xiàn)一些新的問題?!距牛揖统霈F(xiàn)了】

方法二

選擇每次調(diào)用模型的時(shí)候,重新加載一下模型,也就是說把加載模型寫在調(diào)用的函數(shù)里,這樣模型就是個(gè)局部變量,每次調(diào)用每次加載?!救绻€是報(bào)錯(cuò)】

那記得在模型預(yù)測(cè)結(jié)果后,在其代碼追加一句:

ret = model.predict(x_test)
keras.backend.clear_session()

意思就是清理下session,這樣每次調(diào)用都會(huì)加載一下模型,并且清除session

這個(gè)方法也不推薦,加載模型耗時(shí)耗力,而且清除了其他的session,有可能造成其他程序的崩潰

方法三

創(chuàng)建全局的model,創(chuàng)建全局的graph,調(diào)用的時(shí)候直接引用過來

像這樣:

if __name__ == '__main__':
	graph = tf.get_default_graph()
	model = keras.models.load_model('./data/model/model.model')
	app.run(host='0.0.0.0', port=9090, debug=True)

但是這不算結(jié)束,關(guān)鍵的地方來了,在調(diào)用模型的時(shí)候,要引用一下全局的圖才行

像這樣:

with graph.as_default():
	prd = model.predict(x_test)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

辽中县| 曲麻莱县| 宁化县| 昌都县| 股票| 谢通门县| 云安县| 菏泽市| 高邑县| 安乡县| 罗平县| 安乡县| 西吉县| 佳木斯市| 晋城| 晋城| 长泰县| 溧阳市| 德清县| 普洱| 兴义市| 玉门市| 西吉县| 昌都县| 邯郸县| 西丰县| 濉溪县| 鄢陵县| 登封市| 马龙县| 高唐县| 大新县| 罗定市| 邯郸市| 京山县| 泸溪县| 南木林县| 贡觉县| 满洲里市| 威宁| 嘉鱼县|