小哀小白 2022-07-15 15:47 采纳率: 37.5%
浏览 42
已结题

关于pytorch的出现nan如何解决

import numpy as np
from torch.nn import functional as F
import h5py
import matplotlib.pyplot as plt
import lr_utils
import torch
import torch.nn as nn
import matplotlib.gridspec as grid_spec
train_set_x_orig , train_set_y , test_set_x_orig , test_set_y , classes = lr_utils.load_dataset()
train_x_flatten = train_set_x_orig.reshape(train_set_x_orig.shape[0], -1).T
test_x_flatten = test_set_x_orig.reshape(test_set_x_orig.shape[0], -1).T
train_x = train_x_flatten / 255
train_y = train_set_y
test_x = test_x_flatten / 255
test_y = test_set_y
print(train_x.shape,train_y.shape)
train_x=torch.from_numpy(train_x).float()
train_y=torch.from_numpy(train_y).float()
test_x=torch.from_numpy(test_x).float()
#test_y=torch.from_numpy(test_y).float()
W1=torch.randn([5,12288],requires_grad=True).float()
b1=torch.ones([1,1],requires_grad=True).float()
W2=torch.randn([1,5],requires_grad=True).float()
b2=torch.ones([1,1],requires_grad=True).float()
optimizer = torch.optim.SGD([W1,W2,b1,b2], 0.001)
cast=[]
print(test_x)
for step in range(10000):
z1=W1@train_x+b1
A1=torch.relu(z1)
z2=W2@A1+b2
A2=torch.sigmoid(z2)
print(A2.shape)
loss=F.binary_cross_entropy(train_y,A2)
loss.backward()
optimizer.step()
optimizer.zero_grad()
if step%100==0:
cast.append(loss)
testZ1=W1@test_x+b1
testA1=torch.relu(testZ1)
testZ2=W2@testA1+b2
testA2=torch.sigmoid(testZ2)
print(testA2.shape,testA2)
testA2=testA2.detach().numpy()
def predict(testA2):
for i in range(50):
if testA2[:,i]>0.5:
testA2[:,i]=1
else:
testA2[:,i]=0
return testA2
testA2=predict(testA2)
print(testA2,test_y)
acc2=np.mean(testA2==test_y)
print(acc2)
在做识别猫猫吴恩达深度学习时使用pytorch出现testA2的值都是nan,出现了问题,不知道代码哪里有错误。

  • 写回答

3条回答 默认 最新

  • 爱晚乏客游 2022-07-15 17:06
    关注

    debug吧,应该是数据或者读取数据出的问题

    评论

报告相同问题?

问题事件

  • 系统已结题 7月23日
  • 创建了问题 7月15日

悬赏问题

  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?