我正在尝试在 PyTorch 中实现神经网络,但它似乎不起作用。问题似乎出在训练循环中。我花了几个小时来解决这个问题,但无法做到正确。请帮忙,谢谢。
我还没有添加数据预处理部分。
# importing libraries
import pandas as pd
import numpy as np
import torch
import torch.nn as nn
from torch.utils.data import Dataset
from torch.utils.data import DataLoader
import torch.nn.functional as F
Run Code Online (Sandbox Code Playgroud)
# get x function (dataset related stuff)
def Getx(idx):
sample = samples[idx]
vector = Calculating_bottom(sample)
vector = torch.as_tensor(vector, dtype = torch.float64)
return vector
# get y function (dataset related stuff)
def Gety(idx):
y = np.array(train.iloc[idx, 4], dtype = np.float64)
y = torch.as_tensor(y, dtype = torch.float64)
return y …
Run Code Online (Sandbox Code Playgroud) 当我运行下面的程序时,它给我一个错误。问题似乎出在损失函数上,但我找不到它。我已阅读 nn.CrossEntropyLoss 的 Pytorch 文档,但仍然找不到问题。
图像大小为(1 x 256 x 256),批量大小为1
我是 PyTorch 的新手,谢谢。
import torch
import torch.nn as nn
from PIL import Image
import numpy as np
torch.manual_seed(0)
x = np.array(Image.open("cat.jpg"))
x = np.expand_dims(x, axis = 0)
x = np.expand_dims(x, axis = 0)
x = torch.from_numpy(x)
x = x.type(torch.FloatTensor) # shape = (1, 1, 256, 256)
def Conv(in_channels, out_channels, kernel=3, stride=1, padding=0):
return nn.Conv2d(in_channels, out_channels, kernel, stride, padding)
class model(nn.Module):
def __init__(self):
super(model, self).__init__()
self.sequential = nn.Sequential(
Conv(1, 3),
Conv(3, …
Run Code Online (Sandbox Code Playgroud)