[基于Pytorch的MNIST识别03]运行模型

Posted AIplusX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[基于Pytorch的MNIST识别03]运行模型相关的知识,希望对你有一定的参考价值。

写在前面

今天调通了pytorch模型,同时进行了简单的模型测试

知识点总结

1:python忽略某些特定语句的warning:

import warnings
        with warnings.catch_warnings():#ignore some warnings
            warnings.simplefilter("ignore")
            loss = criterion(outputs, labels)  # calculate loss

2:pytorch将cpu上的数据移动到gpu上:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
device
mnist_net.to(device)
print(next(mnist_net.parameters()).device)

        images = images.to(device)
        labels = labels.to(device)

3:函数形参位置,带有默认值的参数应该放在没有默认值参数的后面,否则会报错的;

4:torch.max()用法:

index, parameter = torch.max(para,0), 返回列最大值以及对应索引,索引在前,数值在后

index, parameter = troch.max(data,1), 返回行最大值以及对应索引,索引在前,数值在后

5:pytorch在单行内进行刷新输出:

import sys

for i, (imgs, labs) in enumerate(usermnist_validate_loader):
	sys.stdout.write('\\r'+str(i)+str())

6:pytorch报错:

“RuntimeError: expected scalar type Float but found Double”
这个错误是数据类型不统一引起的。

解决方法:

torch.set_default_tensor_type(torch.DoubleTensor)

这个语句主要是设置tensor的默认数据类型

主要内容

主要内容在我的古月居博客:
[基于Pytorch的MNIST识别03]运行模型

明天就可以真正开始调参了。

以上是关于[基于Pytorch的MNIST识别03]运行模型的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch基于 LSTM 的手写数字识别(MNIST)

[基于Pytorch的MNIST识别04]模型调试

[基于Pytorch的MNIST识别05]总结

图像分类基于PyTorch搭建LSTM实现MNIST手写数字体识别(单向LSTM,附完整代码和数据集)

基于Keras 的VGG16神经网络模型的Mnist数据集识别并使用GPU加速

[基于Pytorch的MNIST识别01]神经网络建立