※ この募集は締め切られました。
PyTorchのCNNとLSTMの組み合わせについて詳しく相談させて頂きたいです。
【概要】
PyTorchのCNNとCNN+LSTMの組み合わせについて詳しく相談させて頂きたいです。
【目的】
CNN+LSTM(サイトではCNN+RNN)
https://recruit.gmo.jp/engineer/jisedai/blog/fx_price_prediction_using_temporal_convolutional_network/
こちらのサイトにあるようなことをしたいのですがこのサイトではkerasを使用しているようで
自分はまだpytorchしか扱えていない為、内容を理解できておりません。
CNN+LSTM(CNN+RNN)を行えるようになりたいです。
上記を行う為にCNNについて勉強し始めたばかりで不明なところがございます。
直近での不明点では
https://www.amazon.co.jp/dp/4798055476
こちらの「PyTorchニューラルネットワーク実装ハンドブック (Pythonライブラリ定番セレクション)」という書籍にある4章の
#全結合の次元を計算
size_check = torch.FloatTensor(10, 3, 224, 224)
features = nn.Sequential(
nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2),
nn.Conv2d(64, 192, kernel_size=5, padding=2),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2),
nn.Conv2d(192, 384, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.Conv2d(384, 256, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.Conv2d(256, 256, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2),
)
#バッチサイズ10, 6×6のフィルターが256枚
#10バッチは残して、6×6×256を1次元に落とす=>6×6×256=9216
print(features(size_check).size())
#バッチ10の値を軸にして残りの次元を1次元へ落とした場合のTensorの形状をチェックすると9216。
print(features(size_check).view(size_check.size(0), -1).size())
#fc_sizeを全結合の形状として保持しておく
fc_size = features(size_check).view(size_check.size(0), -1).size()[1]
print(fc_size)
というところで、「6x6」がどこから出てきたのか、なぜ「6x6」なのかが理解できずに止まっております。
【コミュニケーション方法】
チャットのみ or チャットとビデオ通話