IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 2021.08.24学习内容 -> 正文阅读

[Python知识库]2021.08.24学习内容

pytorch数据加载:
①totchvision 的包,含有支持加载类似Imagenet,CIFAR10,MNIST 等公共数据集的数据加载模块 torchvision.datasets

import torch
import torch.nn as nn
from torch.utils.data import Dataset, DataLoader

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)

使用torchvision.datasets在线加载数据集

②支持加载图像数据数据转换模块 torch.utils.data.DataLoader

trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)

torchvision.datasets获取数据后,数据处理时使用DataLoader,一次处理4张图,batch_size=4,使用两个GPU,num_workers=2

for i, data in enumerate(trainloader, 0):
        # get the inputs
        inputs, labels = data
        
#预测时代码预测数据获取
with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)

训练时,DataLoader取出的数可直接用于迭代,含标签、位置信息,可见数据输入和处理主要依赖torchvision这两个包。

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

如果CUDA可以用,首先定义下我们的设备为第一个可见的cuda设备"cuda:0"

方法会递归地遍历所有模块,并将它们的参数和缓冲器转换为CUDA张量
net.to(device)
必须在每一个步骤向GPU发送输入和目标
inputs, labels = inputs.to(device), labels.to(device)

网络训练调用cuda,把张量和神经网络传到GPU
(CUDA是英伟达公司为拥有并行计算需求的从业者能够使用GPU而提供的工具)
CUDA的诞生就是为了让GPU能够有可用的编程环境,使得开发人员可以用程序控制GPU的硬件进行并行计算。所以本质上,CUDA是一个软件体系。
安装CUDA时经常会要连带安装的CUDNN,这就是针对于卷积计算的CUDA函数库,使得深度学习开发者能够很容易的调用CUDA实现深度学习算法的构建。

开发人员编写CUDA应用程序时,可以通过直接调用底层的驱动API来调用GPU。也可以通过调用CUDA运行时API间接调用GPU。也可以通过直接使用GUDA函数库,进一步简化开发过程。
在这里插入图片描述

model = nn.DataParallel(model)

使用 DataParallel 让模型并行运行,你以很容易的在多 GPU 上运行你的操作

**数据并行自动拆分了你的数据并且将任务单发送到多个 GPU 上。**当每一个模型都完成自己的任务之后,DataParallel 收集并且合并这些结果,然后再返回给你。在固定batch_size大小时,若有多个GPU,一次取数batch_size大小个,同时把这些数据分配在这些GPU上,比起一个GPU,显然数据处理速度要快很多.

CSV文件:
csv是逗号分隔值格式文件。其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。

torchvision包提供了 常用的数据集类(datasets)和转换(transforms),transforms包含了常见的数据转换,如resize,随即裁剪等,可直接调用.

import torch
from torchvision import transforms, datasets

data_transform = transforms.Compose([
        transforms.RandomSizedCrop(224),
        transforms.RandomHorizontalFlip(),
        transforms.ToTensor(),
        transforms.Normalize(mean=[0.485, 0.456, 0.406],
                             std=[0.229, 0.224, 0.225])
    ])
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:09:51  更:2021-08-25 12:10:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 14:11:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计