所以我試圖讓使用MultivariateNormalDiag給出畝和形狀的西格瑪形狀(無,output_dim,output_dim,output_dim)的Tensorflow MultivariateNormalDiag張量(無,3)
多元高斯我想提供的張量形狀的兩個張量(無,3)對μ和sigma參數,像這樣
dist = tf.contrib.distributions.MultivariateNormalDiag(mu, sigma)
,這樣我可以然後提供一組點,在這種情況下
dim_range = [float(i) for i in range(0, max_size)]
points = [[a,b,c] for a in dim_range for b in dim_range for c in dim_range]
並檢索一組密度正態分佈在mu周圍的點,如
gauss_tensor = tf.reshape(
dist.pdf(points),
shape=(None, output_dim, output_dim, output_dim)
)
對於單個示例,例如, mu和sigma具有形狀(3)和輸出形狀(output_dim,output_dim,output_dim),並且如果可視化三維地,我們得到
爲output_dim = 16和mu和sigma以半隨機的方式來選擇顯示每個維度的差異。一個完整的工作示例可以發現here和我想要實現的一個示例here [編輯:for 1.0起,dist.pdf(點數)需要更改爲dist.prob(點數)]
但是如果對一批未知大小嚐試使用相同的輸出(None,output_dim,output_dim,output_dim),那麼在解決問題時採用不同的方法,所有內容都會隨着不一致的錯誤消息而崩潰。
有沒有人知道如何做到這一點不同的批量大小,其中每個批次元素在一批mus和一批sigma中有相應的mu和sigma?
在此先感謝:)
p.s.這是使用tensorflow 0.12,但如果有修復1. *我會考慮重建tensorflow
要完成的答案,[在此](https://github.com/tensorflow/tensorflow/issues/10766)是一個已經討論和修復的相關錯誤報告 –