2021-06-29

山东大学暑期项目实训(一)

以为学过数字图像处理的课,或许做图像处理识别这方面的任务自己会有点用,不过稍微了解后,才发现自己学的不过皮毛,更好的识别算法之类的基本上离不开机器学习,无奈仍是需要用配置相关的环境。

1,环境配置,使用anaconda搭建pytorch

感谢前人栽的树link

anaconda的安装

1,官网下载link
2,清华大学资源地址link
3,下载完成后启动安装
在这里插入图片描述
请务必勾选第一项添加环境变量,其后按流程操作即可。
###使用anaconda搭建pytorch环境
从开始按钮打开anaconda navigator
在这里插入图片描述
选择左边的environment,然后点击create选项。个人理解这一步只是,想要创建一个pytorch的文件夹,其安装环境而已。
由于网络问题,pytorch的应该不能直接下载,还是需要将系统的默认的源下载地址改成我们自己的镜像地址,用的还是清华大学的资源
在 C:\Users\用户名 路径下有一个.condarc的文件,我们用记事本方式打开,同时将里面的内容修改为如下
在这里插入图片描述
并知道是否需要关闭anaconda重新启动,不过如果这个文件更改的不正确的话可能会打不开anaconda navigator

这个地方根据那个博主的改法出了点小问题,还是的按照清华大学该部分的提示进行更改link

继续创建pytorch
在这里插入图片描述
之后添加环境变量
进入到anaconda的安装目录下,进入envs文件夹下,找到刚刚创建的pytorch,找到scripts文件夹,复制其地址

在这里插入图片描述

在这里插入图片描述
右击我的电脑——属性——高级系统属性——环境变量
在用户变量的path处编辑,将刚刚刚复制的路径加进去即可

接着准备安装pytorch,从开始按钮打开anaconda prompt
然后输入“activate pytorch”,将当前环境切换到刚刚创建的新环境pytorch
下载的指令需要从官方处获取link
向下滑,根据选择的版本获取不同的指令
在这里插入图片描述
复制指令到prompt处下载
在这里插入图片描述
输入y确定下载
完成后控制台界面应该会出现“done”,即为下载完成

pycharm的配置

从网上学习link
pycharm配置简单
进入pycharm的下载地址link进行下载
在这里插入图片描述
推荐是使用community社区版下载,因为是免费使用的
下载好后进行安装,首先是安装路径的更改,其次是一些条件的选择
在这里插入图片描述
如下是将其添加到开始按钮的名字
在这里插入图片描述
没有用过python的还需下载python的解释器
进入python官网选择版本下载即可link

接下来运行pycharm创建project测试一下
在这里插入图片描述
随后运行博主提供的代码进行测试

import torch
import torchvision
import torchvision.transforms as transforms
import torch.utils.data.dataloader as dataloader
import torch.nn as nn
import torch.optim as optim
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "3"


train_set = torchvision.datasets.MNIST(
    root="./data",
    train=True,
    transform=transforms.ToTensor(),
    download=True
)
train_loader = dataloader.DataLoader(
    dataset=train_set,
    batch_size=100,
    shuffle=False,
)

test_set = torchvision.datasets.MNIST(
    root="./data",
    train=False,
    transform=transforms.ToTensor(),
    download=True
)
test_loader = dataloader.DataLoader(
    dataset=test_set,
    batch_size=100,
    shuffle=False,
)

class NeuralNet(nn.Module):

    def __init__(self, input_num, hidden_num, output_num):
        super(NeuralNet, self).__init__()
        self.fc1 = nn.Linear(input_num, hidden_num)
        self.fc2 = nn.Linear(hidden_num, output_num)
        self.relu = nn.ReLU()

    def forward(self,x):
        x = self.fc1(x)
        x = self.relu(x)
        y = self.fc2(x)
        return y


epoches = 20
lr = 0.001
input_num = 784
hidden_num = 500
output_num = 10
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

model = NeuralNet(input_num, hidden_num, output_num)
model.to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=lr)


for epoch in range(epoches):
    for i, data in enumerate(train_loader):
        (images, labels) = data
        images = images.reshape(-1, 28*28).to(device)
        labels = labels.to(device)

        output = model(images)
        loss = criterion(output, labels)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

        if (i+1) % 100 == 0:
            print('Epoch [{}/{}], Loss: {:.4f}'
                  .format(epoch + 1, epoches, loss.item()))


with torch.no_grad():
    correct = 0
    total = 0
    for images, labels in test_loader:
        images = images.reshape(-1, 28*28).to(device)
        labels = labels.to(device)
        output = model(images)
        _, predicted = torch.max(output, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

    print("The accuracy of total {} images: {}%".format(total, 100 * correct/total))

需要一点时间才能看到结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值