PyTorch
文章平均质量分 64
manong_wxd
这个作者很懒,什么都没留下…
展开
-
Windows+Anaconda3安装PyTorch
Windows+Anaconda3安装PyTorch本文主要参考的是知乎上的一篇《PyTorch在64位Windows下的Conda包》:https://zhuanlan.zhihu.com/p/26871672该安装十分简单,主要是用了楼上作者提供的PyTorch的windows conda包,该包中内置CUDA 8.0,cuDNN v6(cuDNN v5的用户也可以使用)。配置要求Anacon原创 2017-11-20 15:59:05 · 36289 阅读 · 10 评论 -
PyTorch学习总结(二)——基于torch.utils.ffi的自定义C扩展
步骤一 准备好你的C代码首先,你写好你的C函数。接下来你可以找到一个模块的forward和backward函数的实现,其主要实现输入相加的功能。在你的.c文件中,你可以使用#include <TH/TH.h>和#include <THC/THC.h>指令来分别包含TH及THC。ffi工具可以确保编译器在build的过程中找到它们。/* src/my_lib.c */#include <TH/TH.原创 2017-12-05 14:39:28 · 6926 阅读 · 0 评论 -
PyTorch学习总结(六)——Tensor实现
1. Python的C扩展其实只要你懂得C语言编程,给Python添加新的内置(build-in)模块将十分容易。这些扩展(extension)模块可以实现两种无法直接在Python中进行的操作:他们可以实现新的内置对象类型,以及可以调用C语言的库函数和进行系统调用。为了支持扩展,Python API定义了一个函数(functions)、宏命(macros)令和变量(variables)的集合,该集原创 2017-12-06 19:32:02 · 3729 阅读 · 0 评论 -
PyTorch学习总结(五)——torch.nn
Parameters class torch.nn.Parameter()Variable的一种,常被用于模块参数(module parameter)。Parameters 是 Variable 的子类。Paramenters和Modules一起使用的时候会有一些特殊的属性,即:当Paramenters赋值给Module的属性的时候,他会自动的被加到 Module的 参数列表中(即:会出现在原创 2017-12-05 14:56:38 · 18513 阅读 · 0 评论 -
PyTorch学习总结(四)——Utilities
1. PackedSequence torch.nn.utils.rnn.PackedSequence这个类的实例不能手动创建。它们只能被pack_padded_sequence() 实例化。2. pack_padded_sequence torch.nn.utils.rnn.pack_padded_sequence()**输入:input: [seq_length x batch_si原创 2017-12-05 14:49:34 · 3328 阅读 · 1 评论 -
PyTorch学习总结(三)——ONNX
1.什么是ONNXOpen Neural Network Exchange (ONNX)是开放生态系统的第一步,它使人工智能开发人员可以在项目的发展过程中选择合适的工具;ONNX为AI models提供了一种开源格式。它定义了一个可以扩展的计算图模型,同时也定义了内置操作符和标准数据类型。最初我们关注的是推理(评估)所需的能力。Caffe2, PyTorch, Microsoft Cognitive原创 2017-12-05 14:43:22 · 57435 阅读 · 5 评论 -
PyTorch学习总结(一)——查看模型中间结果
如何查看预训练模型的中间结果 这里我们以PyTorch自带的预训练模型为例来讲解:# load the pretrained modelalexnet = models.alexnet(pretrained=True).cuda()print(alexnet)AlexNet ( (features): Sequential ( (0): Conv2d(3, 64, kernel_si原创 2017-12-05 14:35:19 · 22653 阅读 · 2 评论 -
莫烦PyTorch学习笔记(五)——模型的存取
本文主要是介绍如何对训练好的神经网络模型进行存取。 编辑器:spyder1.快速搭建神经网络这里采用上一节介绍的方法快速搭建一个小的神经网络:def save(): # save net1 net1 = torch.nn.Sequential( torch.nn.Linear(1, 10), torch.nn.ReLU(), torc原创 2017-11-21 15:14:48 · 5756 阅读 · 1 评论 -
莫烦PyTorch学习笔记(三)——分类
本文主要是用PyTorch来实现一个简单的分类任务。 编辑器:spyder1.引入相应的吧及建立数据集import torchfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as plt# make fake datan_data = torch.ones(原创 2017-11-20 19:43:40 · 15478 阅读 · 2 评论 -
莫烦PyTorch学习笔记(四)——快速搭建法
本文主要是用PyTorch来实现另一种快速搭建神经网络的方法。 编辑器:spyder1.用类构建神经网络class Net(torch.nn.Module): def __init__(self, n_feature, n_hidden, n_output): super(Net, self).__init__() self.hidden = torch.n原创 2017-11-21 09:55:36 · 1035 阅读 · 0 评论 -
莫烦PyTorch学习笔记(二)——回归
本文主要是用PyTorch来实现一个简单的回归任务。 编辑器:spyder原创 2017-11-20 18:48:55 · 11678 阅读 · 8 评论 -
莫烦PyTorch学习笔记(一)——Torch或Numpy
1.什么是NumpyNumpy系统是Python的一种开源的数值计算扩展,用python实现的科学计算包。这种工具可用来存储和处理大型矩阵,包括强大的N维数组对象Array,比较成熟的函数库等。numpy和稀疏矩阵运算包scipy配合使用更加方便。2.用Numpy还是TorchTorch自称为神经网络界的Numpy,它能将torch产生的tensor放在GPU中加速运算,就想Numpy会把array原创 2017-11-21 11:33:39 · 19705 阅读 · 0 评论 -
PyTorch学习总结(七)——自动求导机制
自动求导机制从后向中排除子图每个变量都有两个标志:requires_grad和volatile。它们都允许从梯度计算中精细地排除子图,并可以提高效率。requires_grad如果有一个单一的输入操作需要梯度,它的输出也需要梯度。相反,只有所有输入都不需要梯度,输出才不需要。如果其中所有的变量都不需要梯度进行,后向计算不会在子图中执行。>>> x = Variable(torch.randn(5,原创 2017-12-06 19:46:50 · 14938 阅读 · 3 评论