Deep Learning: Pytorch随笔

1.torch.randn(1, 3, 3, 3)
生成随机数向量

2.torch.Tensor.view(3, 9)
变换维度,如把上面的四维 1 * 3 * 3 * 3 变成二维 3 * 9 ,方式就是顺序排列下来
view(-1, 3) 会把数据变成 n * 3 维度

3.nn.Linear(in_features = 3 * 3, out_features = 1)
全连接层,输入必须是二维
input是 (3, 9)的情况下,in_features是9,output是 (3, 1)

4.torch.cat((A, B), dim = 1)
拼接两个Tensor,dim = 0 竖着拼,dim = 1 横着拼

5.nn.module
定义自己的网络

需要继承nn.Module类,并实现forward方法。
一般把网络中具有可学习参数的层放在构造函数init()中,
不具有可学习参数的层(如ReLU)可放在构造函数中,也可不放在构造函数中(而在forward中使用nn.functional来代替)

只要在nn.Module的子类中定义了forward函数,backward函数就会被自动实现(利用Autograd)。
在forward函数中可以使用任何Variable支持的函数,毕竟在整个pytorch构建的图中,是Variable在流动。还可以使用if,for,print,log等python语法.

注:Pytorch基于nn.Module构建的模型中,只支持mini-batch的Variable输入方式,
比如,只有一张输入图片,也需要变成 N x C x H x W 的形式:

input_image = torch.FloatTensor(1, 28, 28)
input_image = Variable(input_image)
input_image = input_image.unsqueeze(0) # 1 x 1 x 28 x 28

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,619评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,325评论 1 3
  • 没事就多看看书,因为腹有诗书气自华,读书万卷始通神。没事就多出去旅游,别因为没钱而找借口,因为只要你省吃俭用,来...
    向阳之心阅读 4,828评论 3 11
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,169评论 2 7