精华内容
下载资源
问答
  • torch教程

    2021-01-10 16:19:29
    本文机遇Pytorch官方中文教程。 Tensor(张量) tensor类似于numpy中的adarray,是n维张量。 创建tensor #张量:不初始化(都是0) print("构造张量:不初始化") x = torch.empty((5,3)) print(x) #随机初始化 ...

    Pytorch是一个机遇Torch的python第三方库,是当前最流行的机器学习库之一。本文基于Pytorch官方中文教程。

    Tensor(张量)

    tensor类似于numpy中的adarray,是n维张量。

    创建tensor

    #张量:不初始化(都是0)
    print("构造张量:不初始化")
    x = torch.empty((5,3))
    print(x)
    
    #随机初始化
    print("构造张量:随机初始化")
    x = torch.rand((5,3))
    print(x)
    
    #全0矩阵
    print("构造张量:全0")
    x = torch.zeros((5,3), dtype=torch.long)
    print(x)
    
    #从列表构造张量
    print("构造张量:从列表构造张量")
    x = torch.tensor([1, 2, 3])
    print(x)
    
    #从已有张量构造张量:y会继承x的属性
    print("构造张量:从已有张量构造张量")
    y = x.new_ones((5, 3), dtype=torch.long)
    print(y)
    y = torch.rand_like(x, dtype=torch.float)
    print(y)
    

    在这里插入图片描述

    基本属性

    #获取维度信息
    print("获取维度信息")
    x = torch.empty((5,3))
    print(x.shape)
    
    #基本运算
    print("基本运算")
    x = torch.rand((5,3))
    y = torch.rand_like(x)
    print(x+y)
    print(x.add(y))
    
    #带有_的函数会改变调用此函数的对象
    x.add_(y)
    print(x)
    
    #改变形状
    print("改变形状")
    x = torch.rand(4,4)
    y = x.view(-1, 8)
    print(x.size(), y.size())
    
    #如果只有一个元素,获取元素
    print("获取元素")
    x = torch.rand((1,1))
    print(x)
    print(x.item())
    

    在这里插入图片描述

    自动微分

    tensor最大的特点是可以自动微分

    #%%
    #自动微分
    import torch
    x = torch.ones(2, 2, requires_grad=True)
    y = x + 2
    z = y * y * 3
    out = z.mean()
    #out是标量,因此反向传播无需指定参数
    out.backward()
    #打印梯度
    print("打印梯度")
    print(x.grad)
    
    #雅克比向量积
    print("雅克比向量积")
    x = torch.rand(3, requires_grad=True)
    y = x * 2
    print(y)
    #反向传播的参数是权重
    #I = w1*y1 + w2*y2 + w3 * y3
    #这里是I对x的各个分量求导
    w = torch.tensor([1,2,3], dtype=torch.float)
    y.backward(w)
    print(x.grad)
    

    在这里插入图片描述

    展开全文
  • awesome-torch, 出色的Torch 教程项目和社区的精选列表 的Torch出色的Torch 教程。项目和社区的精选列表。目录教程模型动物园。递归网络卷积网络等库模型与相关GPU与相关IDE相关。等链接教程使用 Torch CVPR15教程 ...
  • macM1安装tensorflow和torch教程(python3.8环境) 为搭建机器学习环境,appleM1的环境搭建大概花了一周摸索,使用pip install 报错。 1.配置conda环境 首先,conda forge提供的miniforge支持M1芯片,下载miniforge3...

    macM1安装tensorflow和torch教程(python3.8环境)

    为搭建机器学习环境,appleM1的环境搭建大概花了一周摸索,使用pip install 报错,发现是因为arm架构的问题。

    1.配置conda环境

    首先,conda forge提供的miniforge支持M1芯片,下载miniforge3,选择Apple Silicon版本 下载地址:miniforge下载地址
    在这里插入图片描述
    下载文件到本地,安装conda。

    为tensorflow搭建Python环境

    miniforge3默认是python3.9,我们安装tensorflow需要3.8版本的python,所以我们需要先创建一个conda环境

    conda create -—name python38 python=3.8
    # 激活环境
    conda activate python38
    
    

    2.下载tensorflow文件

    下载地址:tensorflow下载,下载完成后,使用tar进行解压

    tar -xvf tensorflow_macos-0.1alpha1.tar 
    
    

    按步骤安装链接:https://www.ai-buzz.com/18-steps-to-install-tensorflow_macos-on-m1-macbook-2020/
    测试
    安装完成后,可以在命令行中使用python命令进入交互模式,测试tensorflow是否正确安装。

    import tensorflow

    如果能正常引用,没有报错,即为安装成功。

    3.安装pytorch

    安装torch
    截至2021-01-27,torch不能通过conda install torch或者pip install torch安装。但是我们有wheel。
    下载wheel文件
    下载链接:https://github.com/pytorch/pytorch/issues/48145
    下载到本地
    如果是Python3.8环境

    pip install torch-1.8.0a0-cp38-cp38-macosx_11_0_arm64.whl
    
    

    如果是Python3.9环境

    pip install torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl
    
    

    测试

    import torch
    

    参考:Mac m1芯片anaconda上安装tensorflow
    pytorch在appleM1上安装

    展开全文
  • import torch import torch.nn as nn from torch.utils.data import Dataset, DataLoader input_size = 5 output_size = 2 batch_size = 30 data_size = 100 #设备 device = torch.device("cuda:0" if torc

    pytorch的优点之一是可以使用GPU加速,但是默认情况下,只会使用一个GPU。本文内容是如果使用多个GPU并行运算。

    代码

    import torch
    import torch.nn as nn
    from torch.utils.data import Dataset, DataLoader
    
    input_size = 5
    output_size = 2
    
    batch_size = 30
    data_size = 100
    
    #设备
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    
    #数据集:size是单个向量的大小,length是向量的个数
    class RandomDataset(Dataset):
    
        def __init__(self, size, length):
            self.len = length
            self.data = torch.randn(length, size)
    
        def __getitem__(self, index):
            return self.data[index]
    
        def __len__(self):
            return self.len
    
    #加载器:batch_size = 30,即单次循环中读入的数据是30 * 5
    rand_loader = DataLoader(dataset=RandomDataset(size=input_size, length=data_size), batch_size = batch_size, shuffle=True)
    
    #神经网络:只有一个线性层,输入5,输出2
    class Model(nn.Module):
    
        def __init__(self, input_size, output_size):
            super(Model, self).__init__()
            self.fc = nn.Linear(input_size, output_size)
    
        def forward(self, input):
            output = self.fc(input)
            print("\t In Model: input size", input.size(), "output Size", output.size())
    
            return output
    
    
    #实例化model
    model = Model(input_size, output_size)
    
    #判断是否存在多个GPU
    if torch.cuda.device_count() > 1:
        print("Let's use", torch.cuda.device_count(), "GPUS")
        #将模型部署到多个GPU上
        model = nn.DataParallel(model)
    
    #神经网络移植到GPU
    model.to(device)
    
    #开始训练
    for data in rand_loader:
    	#输入移植到GPU
        input = data.to(device)
        output = model(input)
        print("Outsida:input size", input.size(), "output_size", output.size())
    

    这里并行加速的核心代码是

    model = nn.DataParallel(model)
    

    数据并行自动拆分了数据并且将任务发送到多个GPU上,当每个模型都完成自己的任务后,DataParallel收集并合并这些结果并返回。

    输出

    在这里插入图片描述
    此处,我有两个可用的GPU。
    每次for循环中读取30个长度是5的向量,由于有2个GPU,因此每个GPU分配15个,在模型内部,就是15*5的张量。

    说明

    1. 使用多个GPU并行处理速度不一定更快。笔者测试的数据集较小,神经网络也很简单,使用多个GPU训练用时可能不降反升。
    展开全文
  • Centos 7安装torch教程

    千次阅读 2017-05-11 11:22:23
    参考官方指南:http://torch.ch/docs/getting-started.html#_ 安装非常简单,就是有点耗时: git clone ...~/torch --recursivecd ~/torch; bash install-deps; ./install.sh 添加环境变量: sou

    参考官方指南:http://torch.ch/docs/getting-started.html#_

    安装非常简单,就是有点耗时:

    git clone https://github.com/torch/distro.git

    ~/torch --recursivecd ~/torch;

    bash install-deps;

    ./install.sh

    添加环境变量:

    source ~/.bashrc

    测试:


    退出:exit

    如果想要删除torch:

    rm -rf ~/torch

    或安装软件:

    luarocks install <name>


    展开全文
  • from __future__ import print_function, division import torch import torch.nn as nn import torch.optim as optim from torch.optim import lr_scheduler import numpy as np import torchvision from ...
  • 安装教程 demo 导入torch库以后,调用下面的函数,如果打印True就说明安装成功。 import torch print(torch.cuda.is_available()) 定义一个cuda设备 device = torch.device("cuda:0" if torch.cuda.is_available() ...
  • lua&torch教程记录

    千次阅读 2016-10-03 15:51:23
    想使用torch就要学习lua,随意搜了几个,感觉这个教程最好,写得很清晰。 http://www.runoob.com/lua/lua-tutorial.html
  • 前面训练神经网络,我们使用了torch内置的dataset类作为数据类。这种方法用来做一些demo不错,但是实际应用中需要自定义数据类。 下载数据集 https://download.csdn.net/download/weixin_42708161/14156096 下载后...
  • torch 教程 在本文中,我们要描述如何在Android中创建简单的割炬应用程序。 这是一个很好的示例,因为我们可以探索一些有关Android Camera的Android API。 我们将使用Android Studio作为IDE来开发应用程序。 这个...
  • 这篇总结的真好: https://blog.csdn.net/c602273091/article/details/78940781
  • 深度学习的3个主要步骤如下: 定义一个函数集F。 定义一个评价函数:其输入是F中的某个函数f(实际上是决定了函数表达式的参数),输出是f的好坏。 从F中找到一个最好的函数。 神经网络其实就是一个...import torch

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,196
精华内容 478
关键字:

torch教程