非线性映射到更高维度的向量
Non linear mapping to vector of higher dimension
我正在学习 Keras,需要以下方面的帮助。我目前在列表 X 和 Y 中有一系列浮点数。我需要做的是按照以下等式进行非线性映射,将每个元素映射到更高维度的向量。
pos(i) = tanh(W.[concat(X[i],Y[i]])
#where W is a learnable weight matrix, concat performs the concatenation and pos(i) is a vector of 16x1. (I'm trying to create 16 channel inputs for a CNN).
我发现上面的 Pytorch 实现是
m = nn.linear(2,16)
input = torch.cat(X[i],Y[i])
torch.nn.functional.tanh(m(input))
目前我已经在 numpy 中尝试了 concat 和 tanh,但似乎这不是我想要的。
你能帮我用 Keras 实现上面的内容吗?
根据你那里的情况。
这就是我在 keras 中会做的事情。我假设您只是希望在将输入输入模型之前连接它们。
所以我们将使用 numpy 来完成。注意
类似于:
import numpy as np
from keras.model import Dense, Model,Input
X = np.random.rand(100, 1)
Y = np.random.rand(100, 1)
y = np.random.rand(100, 16)
# concatenate along the features in numpy
XY = np.cancatenate(X, Y, axis=1)
# write model
in = Input(shape=(2, ))
out = Dense(16, activation='tanh')(in)
# print(out.shape) (?, 16)
model = Model(in, out)
model.compile(loss='mse', optimizer='adam')
model.fit(XY, y)
....
我正在学习 Keras,需要以下方面的帮助。我目前在列表 X 和 Y 中有一系列浮点数。我需要做的是按照以下等式进行非线性映射,将每个元素映射到更高维度的向量。
pos(i) = tanh(W.[concat(X[i],Y[i]])
#where W is a learnable weight matrix, concat performs the concatenation and pos(i) is a vector of 16x1. (I'm trying to create 16 channel inputs for a CNN).
我发现上面的 Pytorch 实现是
m = nn.linear(2,16)
input = torch.cat(X[i],Y[i])
torch.nn.functional.tanh(m(input))
目前我已经在 numpy 中尝试了 concat 和 tanh,但似乎这不是我想要的。
你能帮我用 Keras 实现上面的内容吗?
根据你那里的情况。
这就是我在 keras 中会做的事情。我假设您只是希望在将输入输入模型之前连接它们。
所以我们将使用 numpy 来完成。注意
类似于:
import numpy as np
from keras.model import Dense, Model,Input
X = np.random.rand(100, 1)
Y = np.random.rand(100, 1)
y = np.random.rand(100, 16)
# concatenate along the features in numpy
XY = np.cancatenate(X, Y, axis=1)
# write model
in = Input(shape=(2, ))
out = Dense(16, activation='tanh')(in)
# print(out.shape) (?, 16)
model = Model(in, out)
model.compile(loss='mse', optimizer='adam')
model.fit(XY, y)
....