tensorflow之獲取tensor的shape作為max_pool的ksize實例
實驗發(fā)現(xiàn),tensorflow的tensor張量的shape不支持直接作為tf.max_pool的參數(shù),比如下面這種情況(一個錯誤的示范):
self.max_pooling1 = tf.nn.max_pool(self.l_6, ksize = [1, tf.shape(self.F1)[0], 1, 1], strides = [1, 1, 1, 1], padding = 'VALID', name = 'maxpool1')
我在max_pool的過程中想對特征每一列進行max_pooling,但因為tensor F1張量沒有值,而ksize此處需要一個int類型的常量,所以tf.shape(self.F1)[0]無法作為ksize的參數(shù)。
一些人的做法是固定行數(shù),比如pointnet固定為2048個點,但這樣做需要重新采樣,過于麻煩。
而既然tensorflow不提供標準的max_pool層實現(xiàn),其實可以自己實現(xiàn)每一列取最大值的操作,充當自己的max_pool。如下圖所示:
def max_pooling(self, NC):
out = tf.reduce_max(NC, reduction_indices=[0])
return out
利用reduce_max剛好能實現(xiàn)這個操作,其中reduction_indices可以指定取哪一維的最大值。這個函數(shù)的詳細功能可以參考官方文檔。
這種情況和tf.reshape不同,tf.reshape是可以使用tf.shape(tensor)[i]的,可能兩者對參數(shù)的要求不一樣。
以上這篇tensorflow之獲取tensor的shape作為max_pool的ksize實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
淺談spring boot 集成 log4j 解決與logback沖突的問題
今天小編就為大家分享一篇淺談spring boot 集成 log4j 解決與logback沖突的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
基于python對B站收藏夾按照視頻發(fā)布時間進行排序的問題
這篇文章主要介紹了基于python對B站收藏夾按照視頻發(fā)布時間進行排序,在實現(xiàn)過程中中間程序可能因為各種原因掛掉,因此在中間加入了儲存中間狀態(tài)的功能,否則每次掛掉都要重新爬速度非常慢,本文給大家介紹具體使用方法,一起看看吧2021-05-05
解決pytorch?model代碼內tensor?device不一致的問題
這篇文章主要介紹了pytorch?model代碼內tensor?device不一致的問題,本文給大家分享完美解決方案,對pytorch?tensor?device不一致問題解決方案感興趣的朋友跟隨小編一起看看吧2023-07-07
Python實現(xiàn)對一個函數(shù)應用多個裝飾器的方法示例
這篇文章主要介紹了Python實現(xiàn)對一個函數(shù)應用多個裝飾器的方法,結合實例形式分析了Python編程中一個函數(shù)使用多個裝飾器的簡單操作技巧,需要的朋友可以參考下2018-02-02
python實現(xiàn)挑選出來100以內的質數(shù)
這篇文章主要介紹了python實現(xiàn)挑選出來100以內的質數(shù),由于是新手,思路有限,如有問題,還請大家指正,需要的朋友可以參考下2015-03-03
Python基于keras訓練實現(xiàn)微笑識別的示例詳解
Keras是一個由Python編寫的開源人工神經網(wǎng)絡庫,可用于深度學習模型的設計、調試、評估、應用和可視化。本文將基于keras訓練實現(xiàn)微笑識別效果,需要的可以參考一下2022-01-01

