teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

コード追加

2021/07/07 08:30

投稿

mmmw
mmmw

スコア23

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

質問内容の修正

2021/07/07 08:30

投稿

mmmw
mmmw

スコア23

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

質問内容の修正

2021/07/06 13:05

投稿

mmmw
mmmw

スコア23

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
  ```