回答編集履歴
2
修正
test
CHANGED
@@ -130,10 +130,10 @@
|
|
130
130
|
|
131
131
|
|
132
132
|
|
133
|
-
x = torch.rand(1, 3, 224, 24
|
133
|
+
x = torch.rand(1, 3, 224, 224)
|
134
134
|
|
135
|
-
y = model(x)
|
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
修正
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
|
+
```
|