码迷,mamicode.com
首页 > 其他好文 > 详细

Torch深度学习教程(二)

时间:2016-05-06 12:38:30      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

  • Torch里非常重要的结构Tensor(张量),类似于Python用的Numpy
    技术分享
    声明Tensor的格式如12行,打印a可以得到一个5x3的矩阵,这里的没有赋初值,但是Torch也会随即赋值的,具体的就跟c++里面的生命了变量虽没有初始化,但是还是会有值一样。
    技术分享
    接着我们调用rand随即初始化矩阵的值(注意这里跟我上面说的随即初始化的区别)。
    技术分享
    也可以直接调用随即初始化Tensor的值,如16行的代码,与a的随即初始化5x3矩阵是一样的,这里b是3x4矩阵。
    技术分享
    矩阵的乘实现的第一种方法
    技术分享
    矩阵的乘实现的第二种方法
    技术分享
    矩阵的乘实现的第三种方法,这种方法是先声明一个5x3乘以3x4矩阵生的5x4举证的Tensor变量c后,用变量c调用mm()方法进行乘运算,最后将结果保存到了c中,当然也可以用如下方式保存技术分享
    这种方式保存的不需要声明d为5x4的矩阵,直接使用即可,跟matlab特别像。
    技术分享

price = torch.Tensor{28993, 29110, 29436, 30791, 33384, 36762, 39900, 39972, 40230, 40146}

技术分享
这是自己定义Tensor的值输入10个整型值,打印price,注意这时它只是一个有10数据的Tensor。
技术分享
对比这两张图片,第一张是有10个数据的Tensor,第二张是10x1的矩阵,也可以成为列向量(神经网络经常用到),是调用了reshape()方法转换的,它们看着一样本质上是不一样的!
技术分享
这时再次调用reshape()方法生产的2x5矩阵,值得注意的是,现在虽然调用了两次reshape(),但是原来的price还是10个数据的Tensor,如下图22行,在经过2次reshape()运算后price没有变化。
技术分享

技术分享
可以使用赋值语句将10x1的向量保存到price_vec中,当然也可以一直用price:reshape(10,1)来表示10x1向量,就是代码长一些。

技术分享
如果想输出1到10这样的类似于枚举型数据时,可以调用range()方法,再次提醒这样初始化的还是一个Tensor,而非运算时候的矩阵或者向量,要用reshape转换。

Torch深度学习教程(二)

标签:

原文地址:http://blog.csdn.net/u010946556/article/details/51329561

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!