tensorflow執行模型 會話

2021-08-31 13:43:21 字數 1175 閱讀 8602

tensorflow的會話(session)用來執行定義好的運算

會話擁有並管理tensorflow程式執行時的所有資源。

當所有計算完成後要關閉會話來幫助系統**資源,否則可能出現資源洩露的問題。

tensorflow中的會話的使用模式有兩種:

(1)第一種模式需要明確呼叫會話生成函式和關閉會話函數。

**流程:

import tensorflow as tf

#建立乙個會話

sess = tf.session(

)#使用這個建立好的會話來得到關心的運算的結果。

#比如呼叫sess.run(result)來得到張量result的取值。

sess.run(..

.)#關閉會話,使得本次執行中使用到的資源可以被釋放

sess.close(

)

注意:這種模式下,當程式異常退出時,關閉會話的函式可能不會被執行而導致資源洩露。

(2)第二種模式是通過python的上下文管理器來使用會話

**流程:

#建立乙個會話,並通過python中的上下文管理器來管理這個會話

with tf.session(

)as sess:

#使用這個建立好的會話來得到關心的運算的結果。

sess.run(..

.)#不需要再呼叫「session.close()」函式來關閉會話

#當上下文退出時會話關閉和資源釋放也自動完成了

tensorflow對於預設的會話(like前面會生成預設的計算圖)需要手動指定。

當預設的會話被指定後,可以通過tf.tensor.eval函式來計算乙個張量的取值。

示例:

sess = tf.session(

)with sess.as_default():

print

(result.

eval()

)#下面兩個命令有相同的功能

print

(sess.run(result)

)print

(result.

eval

(session=sess)

)

onnx模型轉tensorflow模型

onnx是開源神經網路交換平台,有了它基本上不用糾結用什麼深度學習框架的問題了。我現在記錄一下怎麼將onnx模型轉換成tensorflow模型。1 安裝tensorflow和onnx 我是通過anaconda安裝的。詳情 這個部落格記載了安裝anaconda和onnx的詳情,安裝好anaconda後...

TensorFlow模型恢復報錯

錯誤資訊attempting to use uninitialized value input producer input producer limit epochs epochs今天在模型恢復的時候出現上圖報錯資訊,最後發現是由於呼叫tf.train.slice input producer方法...

tensorflow之模型壓縮

本文 tensorflow的模型在移動端執行時往往需要進行模型壓縮。這主要有於兩方面的原因 tensorflow的模型在訓練的過程中可能為了訓練會新增一些操作和節點,而tensorflow的移動端只專注於推理,這樣在執行時就會產生一些核心不存在的錯誤。所以此時需要通過壓縮來減少一些和輸入及輸出不相關...