質問編集履歴
3
コード追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -119,4 +119,54 @@
|
|
119
119
|
# 事前に用意したリストに推論結果(0 or 1)を格納
|
120
120
|
pred.append(preds.item())
|
121
121
|
df_test['pred'] = pred
|
122
|
+
```
|
123
|
+
|
124
|
+
|
125
|
+
### 追加コード
|
126
|
+
```python
|
127
|
+
#train_Dataloader
|
128
|
+
import torch
|
129
|
+
image_dataloaders = {
|
130
|
+
'train': torch.utils.data.DataLoader(image_datasets['train'], batch_size=4,shuffle=True, num_workers=0, drop_last=True),
|
131
|
+
'val': torch.utils.data.DataLoader(image_datasets['val'], batch_size=4,shuffle=False, num_workers=0, drop_last=True),
|
132
|
+
}
|
133
|
+
train_dataloader = torch.utils.data.DataLoader(image_datasets['train'],
|
134
|
+
batch_size=4,
|
135
|
+
shuffle=True,
|
136
|
+
num_workers=0,
|
137
|
+
drop_last=True)
|
138
|
+
val_dataloader = torch.utils.data.DataLoader(image_datasets['val'],
|
139
|
+
batch_size=4,
|
140
|
+
shuffle=False,
|
141
|
+
num_workers=0,
|
142
|
+
drop_last=True)
|
143
|
+
|
144
|
+
|
145
|
+
#train_model呼び出し
|
146
|
+
dataset_sizes = {'train':train_dataloader, 'val':val_dataloader}
|
147
|
+
train_model(model_ft,dataset_sizes,criterion,optimizer,40,False)
|
148
|
+
|
149
|
+
|
150
|
+
#学習済みmodelのロード,loaded_modelの定義
|
151
|
+
import pickle
|
152
|
+
import torch.nn as nn
|
153
|
+
import torch
|
154
|
+
from torchvision import datasets, models, transforms
|
155
|
+
|
156
|
+
DEVICE= "cpu"
|
157
|
+
def get_model(target_num,isPretrained=False):
|
158
|
+
model_ft = models.resnet18(pretrained=isPretrained)
|
159
|
+
model_ft.fc = nn.Linear(512, target_num)
|
160
|
+
model_ft = model_ft.to(DEVICE)
|
161
|
+
return model_ft
|
162
|
+
best_model = get_model(target_num=2)
|
163
|
+
# モデルを保存する
|
164
|
+
modelname = './original_model_39.pth'
|
165
|
+
pickle.dump(best_model, open(modelname, 'wb'))
|
166
|
+
# 保存したモデルをロードする
|
167
|
+
loaded_model = pickle.load(open(modelname, 'rb'))
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
122
172
|
```
|
2
質問内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
モデル学習後、未知データに対して推論を行うと推論結果が全て同じになる(全て0 or 全て1)
|
5
5
|
|
6
6
|
testデータ推論時に、正常品1,欠陥品0と出力されるようにしたい。
|
7
|
+
ハイパラメータの設定が上手くいっていないため出力がおかしなことになっていると考えている。
|
8
|
+
(学習率、モーメンタムなど、)
|
7
9
|
|
8
10
|
|
9
11
|
### 発生している問題・エラーメッセージ
|
1
質問内容の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
CNN(ResNet18)を用いて、正常品か欠損品かを0,1で判断したい。
|
4
4
|
モデル学習後、未知データに対して推論を行うと推論結果が全て同じになる(全て0 or 全て1)
|
5
5
|
|
6
|
+
testデータ推論時に、正常品1,欠陥品0と出力されるようにしたい。
|
7
|
+
|
8
|
+
|
6
9
|
### 発生している問題・エラーメッセージ
|
7
10
|
|
8
11
|
```
|