質問編集履歴
1
タイトルの修正、不要な情報の削除、🔰マーク付与
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Fast APIで画像をアップロードすると"Object of type Tensor is not JSON serializable"というエラーが発生
|
1
|
+
Fast APIで画像をアップロードすると"Object of type Tensor is not JSON serializable"というエラーが発生
|
test
CHANGED
@@ -137,59 +137,6 @@
|
|
137
137
|
z_dim = 2
|
138
138
|
model = VAE(z_dim)
|
139
139
|
```
|
140
|
-
```loaded_model(参考)
|
141
|
-
class Encoder(nn.Module):
|
142
|
-
def __init__(self, z_dim):
|
143
|
-
super().__init__()
|
144
|
-
self.lr = nn.Linear(302*403, 300)
|
145
|
-
self.lr2 = nn.Linear(300, 100)
|
146
|
-
self.lr_ave = nn.Linear(100, z_dim) #average
|
147
|
-
self.lr_dev = nn.Linear(100, z_dim) #log(sigma^2)
|
148
|
-
self.relu = nn.ReLU()
|
149
|
-
|
150
|
-
def forward(self, x):
|
151
|
-
x = self.lr(x)
|
152
|
-
x = self.relu(x)
|
153
|
-
x = self.lr2(x)
|
154
|
-
x = self.relu(x)
|
155
|
-
ave = self.lr_ave(x) #average
|
156
|
-
log_dev = self.lr_dev(x) #log(sigma^2)
|
157
|
-
|
158
|
-
ep = torch.randn_like(ave) #平均0分散1の正規分布に従い生成されるz_dim次元の乱数
|
159
|
-
z = ave + torch.exp(log_dev / 2) * ep #再パラメータ化トリック
|
160
|
-
return z, ave, log_dev # 潜在変数 z とその統計量(平均 ave と対数分散 log_dev)を得る
|
161
|
-
|
162
|
-
# デコーダのforwardメソッド内で、デコーダの出力の形状を設定
|
163
|
-
class Decoder(nn.Module):
|
164
|
-
def __init__(self, z_dim):
|
165
|
-
super().__init__()
|
166
|
-
self.lr = nn.Linear(z_dim, 100)
|
167
|
-
self.lr2 = nn.Linear(100, 300)
|
168
|
-
self.lr3 = nn.Linear(300, 302*403)
|
169
|
-
self.relu = nn.ReLU()
|
170
|
-
|
171
|
-
def forward(self, z):
|
172
|
-
x = self.lr(z)
|
173
|
-
x = self.relu(x)
|
174
|
-
x = self.lr2(x)
|
175
|
-
x = self.relu(x)
|
176
|
-
x = self.lr3(x)
|
177
|
-
x = torch.sigmoid(x)
|
178
|
-
return x.view(-1, 1, 302, 403) # 出力の形状を(バッチサイズ, チャンネル数, 高さ, 幅)に変更
|
179
|
-
|
180
|
-
class VAE(nn.Module):
|
181
|
-
def __init__(self, z_dim): # クラスの初期化。Encoder クラスと Decoder クラスのインスタンスを作成。
|
182
|
-
super().__init__()
|
183
|
-
self.encoder = Encoder(z_dim)
|
184
|
-
self.decoder = Decoder(z_dim)
|
185
|
-
|
186
|
-
def forward(self, x):
|
187
|
-
z, ave, log_dev = self.encoder(x)
|
188
|
-
x = self.decoder(z)
|
189
|
-
return x, z, ave, log_dev
|
190
|
-
|
191
|
-
```
|
192
|
-
|
193
140
|
|
194
141
|
### 試したこと
|
195
142
|
```main2.py_47行目
|