PyTorch数字分类问题2

#classify number of tuple

import torch
import numpy as np
import matplotlib.pyplot as plt
from torch.autograd import Variable
import torch.optim as optim

ECHOS=10000

#Train_dataset
train_x_1,train_x_2,train_x_3=torch.rand(100,100),torch.rand(100,100),torch.rand(100,100)
train_x_1,train_x_2,train_x_3=torch.clamp(train_x_1,0,0.3),torch.clamp(train_x_2,0,0.4),torch.clamp(train_x_3,0,0.6)
train_x=torch.cat((train_x_1,train_x_2,train_x_3))

#Test_dataset
test_1,test_2,test_3=torch.rand(1,100),torch.rand(1,100),torch.rand(1,100)
test_1,test_2,test_3=torch.clamp(test_1,0,0.305),torch.clamp(test_2,0.3,0.407),torch.clamp(test_3,0,0.6)
test=torch.cat((test_1,test_2,test_3))

#Label
label_1,label_2,label_3=torch.zeros(100).type(torch.LongTensor),torch.ones(100).type(torch.LongTensor),torch.ones(100).type(torch.LongTensor)+1
label=torch.cat((label_1,label_2,label_3))
print(label.size())

#Build Nerual NEtwork
model=torch.nn.Sequential(
    torch.nn.Linear(100,30),
    torch.nn.Linear(30,3),
    torch.nn.Softmax()
)

#optimizer.....
optimizer=optim.SGD(model.parameters(),lr=0.05)
criterion=torch.nn.CrossEntropyLoss()


train_x=Variable(train_x)
label=Variable(label)
for echo in range(ECHOS):

    predict_value=model(train_x)
    loss=criterion(predict_value,label)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    print('Loss:{}'.format(loss))

model.eval()
test=Variable(test)
test_result=model(test)
print(test_result)





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用PyTorch对MNIST手写数字图像进行分类,你可以按照以下步骤进行操作: 1. 首先,使用PyTorch定义ResNet50网络模型。ResNet50是一种深度卷积神经网络,适用于图像分类任务。 2. 接下来,使用PyTorch加载MNIST数据集。PyTorch提供了方便的数据加载工具,你可以使用torchvision.datasets.MNIST函数加载MNIST数据集。如果是第一次运行代码,PyTorch会自动下载数据集。 3. 在加载数据集之后,你可以对数据进行一些预处理操作。例如,可以使用torchvision.transforms.Compose函数将多个转换操作组合在一起,比如将图像转换为Tensor,并进行标准化。 4. 接着,你可以创建训练数据加载器和测试数据加载器。可以使用torch.utils.data.DataLoader函数来创建数据加载器。训练数据加载器用于训练模型,测试数据加载器用于评估模型的性能。你可以指定批量大小、是否打乱数据等参数。 5. 然后,你可以使用定义好的网络模型、数据加载器和损失函数,进行训练过程。训练过程中,可以使用优化器(如SGD或Adam)来更新模型的参数,并计算损失值。训练过程中可以显示损失值的变化情况。 总结起来,对于MNIST手写数字图像分类PyTorch代码,你需要定义ResNet50网络模型,加载MNIST数据集,进行数据预处理,创建训练和测试数据加载器,并进行训练过程。 请注意,上述步骤只是一个大致的框架,具体的代码实现可能会有所不同。你可以根据自己的需求和实际情况对代码进行调整和修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Resnet50卷积神经网络训练MNIST手写数字图像分类 Pytorch训练代码](https://download.csdn.net/download/baidu_36499789/87418795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [用PyTorch实现MNIST手写数字识别(非常详细)](https://blog.csdn.net/sxf1061700625/article/details/105870851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值