回答編集履歴

2

修正

2022/01/05 04:26

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -130,10 +130,10 @@
130
130
 
131
131
 
132
132
 
133
- x = torch.rand(1, 3, 224, 244) # 224x224は入力サイズ、適宜変更してください
133
+ x = torch.rand(1, 3, 224, 224)
134
134
 
135
- y = model(x) # torch.Size([1, 16, 53, 58])
135
+ y = model(x)
136
136
 
137
- print(y.shape)
137
+ print(y.shape) # torch.Size([1, 16, 53, 53])
138
138
 
139
139
  ```

1

修正

2022/01/05 04:26

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -73,3 +73,67 @@
73
73
 
74
74
 
75
75
  [Pytorch - 自作のデータセットを扱う Dataset クラスを作る方法](https://pystyle.info/pytorch-how-to-create-custom-dataset-class/#outline__6)
76
+
77
+
78
+
79
+ ## 追記
80
+
81
+
82
+
83
+ > 必要なサイズがどのような数値が判断する方法などありましたらご教授頂けないでしょうか..
84
+
85
+
86
+
87
+ 全結合層の直前までのモデルを作成し、希望のテンソルを入れて出力の形状を確認すればよいです。
88
+
89
+
90
+
91
+ ```python
92
+
93
+ import torch
94
+
95
+ import torch.nn as nn
96
+
97
+ import torch.nn.functional as F
98
+
99
+
100
+
101
+
102
+
103
+ class Net(nn.Module):
104
+
105
+ def __init__(self):
106
+
107
+ super().__init__()
108
+
109
+ self.conv1 = nn.Conv2d(3, 6, 5)
110
+
111
+ self.pool = nn.MaxPool2d(2, 2)
112
+
113
+ self.conv2 = nn.Conv2d(6, 16, 5)
114
+
115
+
116
+
117
+ def forward(self, x):
118
+
119
+ x = self.pool(F.relu(self.conv1(x)))
120
+
121
+ x = self.pool(F.relu(self.conv2(x)))
122
+
123
+ return x
124
+
125
+
126
+
127
+
128
+
129
+ model = Net()
130
+
131
+
132
+
133
+ x = torch.rand(1, 3, 224, 244) # 224x224は入力サイズ、適宜変更してください
134
+
135
+ y = model(x) # torch.Size([1, 16, 53, 58])
136
+
137
+ print(y.shape)
138
+
139
+ ```