質問編集履歴

1

タイトルの修正、不要な情報の削除、🔰マーク付与

2023/12/16 12:00

投稿

RYO777
RYO777

スコア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行目