深度学习代码bug

weixin_43997158 2021-07-16 20:17:48

我做了一个简单的口罩识别,是把TensorFlow的代码改成了pytorch的代码,因为那个TensorFlow老师版本报错不想用。是一个二分类问题,但是我学习分类出来全部是同一类,根本不会分类出另外一类。请问是什么原因

这是他原来的代码

from keras.layers import LSTM
model=Sequential()
model.add(Conv2D(100,(3,3),input_shape=x.shape[1:],activation='relu',strides=2))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64,(3,3),activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(50, activation='relu'))
model.add(Dropout(0.2))

model.add(Dense(2, activation='softmax'))

这是我的代码

class Mask(torch.nn.Module):
    def __init__(self):
        super(Mask, self).__init__()
        self.con = torch.nn.Conv2d(1, 100, kernel_size=(3, 3), stride=(2, 2))
        self.con2 = torch.nn.Conv2d(100, 64, kernel_size=(3, 3))
        self.pool = torch.nn.MaxPool2d(2)
        self.l1 = torch.nn.Linear(1600, 50)
        self.l2 = torch.nn.Linear(50, 2)
        self.dropout = torch.nn.Dropout(p=0.2)

    def forward(self, x):
        batch_size = x.size(0)
        x = self.con(x)
        x = F.relu(x)
        x = self.pool(x)
        x = self.con2(x)
        x = F.relu(x)
        x = self.pool(x)
        x = x.view(batch_size, -1)
        x = self.l1(x)
        x = F.relu(x)
        # x = self.dropout(x)
        x = self.l2(x)
        x = F.softmax(x)
        return x

运行结果就是,全都是1 一个0都没有

这是训练代码

def train():
    running_loss = 0.0
    for batch_idx, (inputs, target) in enumerate(train_Loader):
        optimizer.zero_grad()  # 梯度置零
        inputs = inputs.to(device)
        target = target.to(device)
        output = model(inputs.float())  # 前向传播
        _, predicts = torch.max(output.data, dim=1)
        print(predicts)
        accuracy = (predicts.cpu() == target.cpu()).sum().item()
        loss = criterion(output, target.long())  # 损失计算
        loss.backward()  # 反向传播
        optimizer.step()  # 更新梯度
        running_loss = running_loss + loss

求解决。

...全文
590 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-10
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-人工智能 发布问题, 以便更快地解决您的疑问

1,371

社区成员

发帖
与我相关
我的任务
社区描述
在这里收获机器学习技术内容和资源;在学习、问答、互助中提升技能;通过分享经验、实例,构建社区影响力
前端学习经验分享 企业社区
社区管理员
  • TensorFlow 社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎来到 TensorFlow 社区!

这里将:

  • 第一时间更新 TensorFlow 产品进展
  • 定期发布 TensorFlow 实操技巧与独家案例
  • 聚集机器学习、人工智能领域优质用户内容
  • 鼓励开发者自主探讨、交流学习


无论你是社区萌新,还是领域专家,愿你在此学有所获!我们将全程助力开发者玩转 TensorFlow,并利用这一开源平台,轻松构建并部署机器学习模型!


若你感兴趣,请戳右上角,“码”上关注!

【更多渠道请看这里】

试试用AI创作助手写篇文章吧