Tensor

1--本质上可以理解为具有不同维度的数组

2--支持的基本运算

|---创建Tensor:  x=t.tensor(x,y) x,y 表示数组的大小 , x=t.rand(x,y), x=t.ones(x,y)

|---获取Tensor的大小 x.size()

|---加法运算

|----普通加法(返回新的变量)

  x=t.tensor(a,b),y=t.tensor(a,b),

  x+y

  t.add(x,y)

  x.add(y)

  r=t.tensor(a,b), t.add(x,y,out=r)

|----改变运算对象的加法

  y.add_(x)   y的内容被改变了

3--与numpy的关系

  本质上就是共享一个内存的对象的,可以快速转化

|----tensor->numpy

  x=t.tensor(a,b),y=x.numpy()

|----numpy->tensor

  x=np.ones(a,b),y=t.from_numpy(x)

4--与cuda的tensor的关系可以通过  x.cuda()转化

Variable

1--在当实验过程中没有发现和Tensor的区别?

2--Variable与Tensor的关系

|----  Variable={ data(Tensor),grad,grad_fn }

Net

1--PyTorch中网络是以继承的方式实现

|----继承nn.Model 然后实现 init 和 forward, 需要训练的层放在init中(如CONV),不需要训练的放在 forward中定义即可,定义顺序不一定

|----定义时没有定义输入的图像大小? pool层的参数?输入时只接受batch输入,要在前加一个batch维度?

2--损失函数

|----损失函数定义在nn模块下,创建一个对象criterion =nn.MSELoss(), 使用该对象

3--优化器

|----怎么理解优化器:定义了损失函数,反向传播了梯度,但是如何利用梯度去改变参数就是优化器的作用

|----优化器的参数:优化的参数,学习率。 可以说学习率是梯度的比重,对训练速度有影响,一般取0.1

|----使用流程:各种优化器定义在nn.optim中,声明(net.parameters, lr)-> 计算loss -> loos反向传递 -> 优化器.step()

小总: pytorch 数据结构上的抽象是:  tensor -> variable -> net 三个层次, 基本上利用 variable 和 net 这个层次就能够很方便的实现网络了

  

pytorch入门与实践-2.2的更多相关文章

  1. pytorch入门与实践-2.2-CIFAR10分类网络

    1--数据载入 |----流程: DataSet->DataLoader->调用DataLoader |----DataLoader迭代器读不到数据,无报错,一直卡住的显现: DataLo ...

  2. pytorch入门与实践-3 Tensor详解

    1--如第二章所讲,Tensor的本质是矩阵或数据 2--对Tensor的操作分类 |----API分类 |------torch中定义的: t.f(a,b) |------tensor的成员函数: ...

  3. 《深度学习框架PyTorch:入门与实践》的Loss函数构建代码运行问题

    在学习陈云的教程<深度学习框架PyTorch:入门与实践>的损失函数构建时代码如下: 可我运行如下代码: output = net(input) target = Variable(t.a ...

  4. 《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)

    <Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌   简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作 ...

  5. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  6. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  7. Python编程从入门到实践笔记——类

    Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...

  8. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  9. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

随机推荐

  1. EF Migrations error: No connection string named 'MpDb' could be found in the application config file.

    solution:  update-database 命令查找连接字符是在当前启动项目中找的 确保启动项目中connectiongString配置存在.

  2. PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers

    微擎出错信息: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2054] Server s ...

  3. Mathematica 11.1.0 下载及注册流程

    新版本注册机: http://files.cnblogs.com/files/dabaopku/Mathematica_11.1.0_Keygen.exe.zip 类似于11.0, 在控制台运行, 比 ...

  4. hive SQL 静态分区和 动态分区

    Hive 分区介绍: hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition) hive中创建分区表没 ...

  5. CentOS 7下升级Python版本到3.x系列

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  6. aspx页面,取得Excel某列不同类型的数据为空

    红色部分需要加上, string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source ...

  7. Android Studio创建JAR/AAR库

    [时间:2017-09] [状态:Open] [关键词:Android,Android Studio,gradle,jar,aar,library] 0 引言 最近在工作中遇到了升级Android S ...

  8. MobaXterm v10.9破解

    去官网下载个人版 Exeinfo查壳发现无壳 载入OD,右键,字符串智能搜索. Ctrl+F搜索关键词About,找到到FormAbout处,即关于窗体的创建和显示的位置.双击查看汇编代码 程序在窗体 ...

  9. 【iCore1S 双核心板_ARM】例程十八:SD_IAP_FPGA实验——更新升级FPGA

    实验现象及操作说明: 1.烧写程序成功,绿色ARM·LED灯点亮,三色FPGA·LED灯循环点亮,烧写失败,如果挂载SD卡失败,红灯快闪,如果打开文件失败,蓝灯快闪,读取文件指针移动失败,白灯点亮,升 ...

  10. odoo jQuery is not defined

    The steps1.Query your db as this query.select id, create_date, store_fname, datas_fname from ir_atta ...