导航
  • 主页
  • Study Jam 问答
  • 博客
  • 中文官网
  • 官方视频
  • 入门课程
  • 案例征集
  • 问答

深度学习代码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

求解决。

...全文
325 1 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

发动态
发帖子
TensorFlow 社区
创建于2020-10-21

398

社区成员

在这里收获机器学习技术内容和资源;在学习、问答、互助中提升技能;通过分享经验、实例,构建社区影响力
社区公告

欢迎来到 TensorFlow 官方社区!

这里将:

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


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


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

【更多官方渠道请看这里】