お世話になります、chainer-1.23.0を使用しています
プログラミング初心者のため質問以外にも間違えているところがあるかと思います。
ご指摘いただけたら幸いです。
質問
それぞれ5個の要素を持つ配列を5個(5*5の二重配列)を入力に使いたいのですが、
(入力データが(5,5,5,5,5)となっています)
独自のデータセットを作るには、
chainer.datasets.tuple_datasetを使い、trainとtestを作成し、
その後、chainer.iterators.SerialIteratorを使って、train_iterを作成していると考えています。(Reference Manualや、examplesのMNISTを参考にしました)
しかし、入力層に複数の入力をしたい時に、chainer.datasets.tuple_datasetで作ったtrainデータはどのように入力させるのでしょうか?
私が意味するところとしましては、以下のようなモデルのデータの入力方法です
# x0 ~ x4が入力データ
x0 = Variable(train_data[0]) (train_data[0] は(1,5)のnumpy.array)
x1 = Variable(train_data[1])
x2 = Variable(train_data[2])
x3 = Variable(train_data[3])
x4 = Variable(train_data[4])
y = Variable(train_data[5]) (ここも不安がまだありますが...)
として、
class Mymodel(Chain):
def __init__(self):
super(Mymodel,self).__init__(
l11 = L.Linear(5,n)
l12 = L.Linear(5,n)
l13 = L.Linear(5,n)
l14 = L.Linear(5,n)
l15 = L.Linear(5,n)
l2 = L.Linear(5n,...
......
def __call__(self,x0,x1,x2,x3,x4,y):
h11 = F.sigmoid(self.l11(x0))
h12 = F.sigmoid(self.l12(x1))
h13 = F.sigmoid(self.l13(x2))
h14 = F.sigmoid(self.l14(x3))
h15 = F.sigmoid(self.l15(x4))
h2 = F.sigmoid(F.concat((h11,h12,h13,h14,h15),axis=1))
......
h = ...
h = ...
return F.mean_squared_error(h,y)
といった、wideなモデルの時の入力を用いてtrain_iterを作成して、trainerを使いたいのです。(上のようなwideなモデルの結合(F.concat)はInceptionのsourceを参考にしました、間違っていたら申し訳ありません)
回答よろしくお願いします