说我有一个形状的张量(?,5,1,20)
对于最后一个维度的每次出现,我在产生较小张量b的最后一个维度上进行一些计算(得到k max值)。如果想用b替换原始张量的最后一个维度,我该怎么办?
我应该采取什么(最好是纯张力流)路径?
答案 0 :(得分:1)
你正在对最后一个维度进行一些计算......那就是你想要从(?,5,1,20)开始 - > (?,5,1,b)如果我理解正确的话?
什么样的计算?
你可以重塑你的张量,进行计算(例如矩阵乘法)并重新塑造。
var gdata1 = {};
var gdata2 = {};
function loadData(file) {
d3.csv(file, function (d){...},
function (data) {gdata = data; displayData(gdata)});
}
或者您可以使用a = tf.reshape(X, [-1, 20])
a = tf.matmul(a, X)
a = tf.reshape(a, [-1, b])
来实现类似的壮举。对于非线性计算,取决于您想要做什么。
编辑: 你也可以用Conv2D破解它并使用大小为[1,1,20,b]的过滤器。做同样的事情并且更有效率