溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tensorflow根據輸入更改tensor shape的方法

發(fā)布時間:2020-06-23 14:35:19 來源:億速云 閱讀:551 作者:清晨 欄目:開發(fā)技術

不懂tensorflow根據輸入更改tensor shape的方法?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。

涉及隨機數以及類RNN的網絡構建常常需要根據輸入shape,決定中間變量的shape或步長。

tf.shape函數不同于tensor.shape.as_list()函數,后者返回的是常值list,而前者返回的是tensor。

使用tf.shape函數可以使得中間變量的tensor形狀隨輸入變化,不需要在構建Graph的時候指定。但對于tf.Variable,因為需要提前分配固定空間,其shape無法通過上訴方法設定。

實例代碼如下:

a = tf.placeholder(tf.float32,[None,])
b = tf.random_normal(tf.concat([tf.shape(a),[2,]],axis=0))

補充知識:pytorch中model=model.to(device)用法

這代表將模型加載到指定設備上。

其中,device=torch.device("cpu")代表的使用cpu,而device=torch.device("cuda")則代表的使用GPU。

當我們指定了設備之后,就需要將模型加載到相應設備中,此時需要使用model=model.to(device),將模型加載到相應的設備中。

將由GPU保存的模型加載到CPU上。

將torch.load()函數中的map_location參數設置為torch.device('cpu')

device = torch.device('cpu')
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH, map_location=device))

將由GPU保存的模型加載到GPU上。確保對輸入的tensors調用input = input.to(device)方法。

device = torch.device("cuda")
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(device)

將由CPU保存的模型加載到GPU上。確保對輸入的tensors調用input = input.to(device)方法。map_location是將模型加載到GPU上,model.to(torch.device('cuda'))是將模型參數加載為CUDA的tensor。最后保證使用.to(torch.device('cuda'))方法將需要使用的參數放入CUDA。

device = torch.device("cuda")
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH, map_location="cuda:0")) # Choose whatever GPU device number you want
model.to(device)

感謝你能夠認真閱讀完這篇文章,希望小編分享tensorflow根據輸入更改tensor shape的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI