Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
zergtant authored Mar 25, 2019
2 parents 83a8c7b + 66da51a commit b32e1a9
Show file tree
Hide file tree
Showing 8 changed files with 97 additions and 116 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ API的改动不是很大,本教程已经通过测试,保证能够在1.0中

## 说明

修改错别字请直接提issue或PR
- 修改错别字请直接提issue或PR

PR时请注意版本
- PR时请注意版本

有问题也请直接提issue
- 有问题也请直接提issue

感谢

Expand Down Expand Up @@ -103,7 +103,7 @@ PR时请注意版本

[tensorboardx](chapter4/4.2.2-tensorboardx.ipynb)

[可视化理解卷积神经网络](chapter4/4.2.2-tensorboardx.ipynb)
[可视化理解卷积神经网络](chapter4/4.2.3-cnn-visualizing.ipynb)

#### 第三节 fastai
#### 第四节 训练的一些技巧
Expand Down
7 changes: 3 additions & 4 deletions chapter1/1.1-pytorch-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@ PyTorch是一个Python包,提供两个高级功能:
* 包含自动求导系统的的深度神经网络

## 1.1.4 对比PyTorch和Tensorflow
没有好的框架,只有合适的框架, 这里有个简单的对比,所以这里就不详细再说了
https://zhuanlan.zhihu.com/p/28636490
并且技术是发展的,这里的对比也不是绝对的,比如Tensorflow在1.5版的时候就引入了Eager Execution机制实现了动态图,PyTorch的可视化,windows支持,沿维翻转张量等问题都已经不是问题了。
没有好的框架,只有合适的框架, [这篇知乎文章](https://zhuanlan.zhihu.com/p/28636490)有个简单的对比,所以这里就不详细再说了。
并且技术是发展的,知乎上的对比也不是绝对的,比如Tensorflow在1.5版的时候就引入了Eager Execution机制实现了动态图,PyTorch的可视化,windows支持,沿维翻转张量等问题都已经不是问题了。

## 1.1.5 再次总结

Expand All @@ -54,4 +53,4 @@ https://zhuanlan.zhihu.com/p/28636490
- 不错的的文档(相比FB的其他项目,PyTorch的文档简直算是完善了,参考Thrift),PyTorch作者亲自维护的论坛 供用户交流和求教问题
- 入门简单

所以如果以上信息有吸引你的内容,那么请一定要读完这本书:)
所以如果以上信息有吸引你的内容,那么请一定要读完这本书:)
4 changes: 2 additions & 2 deletions chapter1/1.2-pytorch-installation.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 1.2 Pytorch环境搭建
PyTorch的安装十分简单,根据[PyTorch官网](https://pytorch.org/),对系统选择和安装方式等灵活选择即可。
这里以[anaconda](https://www.anaconda.com/)为例,简单的说一下步骤和要点。
国内安装anaconda建议使用[清华](https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)或者中科大[http://mirrors.ustc.edu.cn/help/anaconda.html]镜像,快的不是一点半点。
国内安装anaconda建议使用[清华](https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)或者[中科大](http://mirrors.ustc.edu.cn/help/anaconda.html)镜像,快的不是一点半点。

# 1.2.1 安装Pytorch
anaconda安装完成后可以开始创建环境,这里以win10 系统为例。打开Anaconda Prompt
Expand Down Expand Up @@ -35,7 +35,7 @@ conda install pytorch torchvision cudatoolkit=10.0 -c pytorch


```
需要说明的一点是如果使用清华源,可以直接添加pytorch源镜像去掉,并且去掉`-c pytorch` 这样才能使用镜像源。
需要说明的一点是如果使用清华镜像,可以直接添加pytorch源镜像去掉,并且去掉`-c pytorch` 这样才能使用镜像源。

验证输入python 进入
```python
Expand Down
6 changes: 3 additions & 3 deletions chapter2/2.1.2-pytorch-basics-autograd.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"在张量创建时,通过设置 requires_grad 标识为Ture来告诉Pytorch需要对该张量进行自动的求导,PyTorch会记录该张量的每一步操作历史并自动计算"
"在张量创建时,通过设置 requires_grad 标识为Ture来告诉Pytorch需要对该张量进行自动求导,PyTorch会记录该张量的每一步操作历史并自动计算"
]
},
{
Expand Down Expand Up @@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"我们看到 该张量的grad_fn已经被赋予了一个新的函数下面我们来调用反向传播函数,计算其梯度"
"我们看到 该张量的grad_fn已经被赋予了一个新的函数下面我们来调用反向传播函数,计算其梯度"
]
},
{
Expand Down Expand Up @@ -225,7 +225,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"我们可以使用`with torch.no_grad()`禁止已经设置requires_grad=True的向量进行自动求导,这个方法在测试集测试准确率的时候回经常用到,例如"
"我们可以使用`with torch.no_grad()`上下文管理器临时禁止对已设置requires_grad=True的张量进行自动求导。这个方法在测试集计算准确率的时候会经常用到,例如"
]
},
{
Expand Down
20 changes: 10 additions & 10 deletions chapter2/2.1.4-pytorch-basics-data-lorder.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
{
"data": {
"text/plain": [
"'1.0.0'"
"'1.0.1.post2'"
]
},
"execution_count": 1,
Expand All @@ -39,7 +39,7 @@
"## Dataset\n",
"Dataset是一个抽象类, 为了能够方便的读取,需要将要使用的数据包装为Dataset类。\n",
"自定义的Dataset需要继承它并且实现两个成员方法:\n",
"1. `__getitem__()` 该方法定义每次怎么获取数据\n",
"1. `__getitem__()` 该方法定义用索引(`0` 到 `len(self)`)获取一条数据或一个样本\n",
"2. `__len__()` 该方法返回数据集的总长度\n",
"\n",
"下面我们使用kaggle上的一个竞赛[bluebook for bulldozers](https://www.kaggle.com/c/bluebook-for-bulldozers/data)自定义一个数据集,为了方便介绍,我们使用里面的数据字典来做说明(因为条数少)"
Expand Down Expand Up @@ -75,7 +75,7 @@
" return len(self.df)\n",
" def __getitem__(self, idx):\n",
" '''\n",
" 根据IDX返回一列数据\n",
" 根据 idx 返回一列数据\n",
" '''\n",
" return self.df.iloc[idx].SalePrice"
]
Expand Down Expand Up @@ -120,7 +120,7 @@
}
],
"source": [
"#实现了__len__ 方法所以可以直接使用len获取数据总数\n",
"#实现了 __len__ 方法所以可以直接使用len获取数据总数\n",
"len(ds_demo)"
]
},
Expand All @@ -141,7 +141,7 @@
}
],
"source": [
"#用索引可以直接访问对应的数据\n",
"#用索引可以直接访问对应的数据, 对应 __getitem__ 方法\n",
"ds_demo[0]"
]
},
Expand All @@ -167,7 +167,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"DataLoader返回的是一个迭代器,我们可以使用迭代器分次获取数据"
"DataLoader返回的是一个可迭代对象,我们可以使用迭代器分次获取数据"
]
},
{
Expand All @@ -193,7 +193,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"或者直接使用for循环对其进行遍历"
"常见的用法是使用for循环对其进行遍历"
]
},
{
Expand All @@ -213,7 +213,7 @@
"source": [
"for i, data in enumerate(dl):\n",
" print(i,data)\n",
" #这里只循环一遍\n",
" # 为了节约空间, 这里只循环一遍\n",
" break"
]
},
Expand Down Expand Up @@ -300,7 +300,7 @@
"source": [
"from torchvision import transforms as transforms\n",
"transform = transforms.Compose([\n",
" transforms.RandomCrop(32, padding=4), #先四周填充0,在吧图像随机裁剪成32*32\n",
" transforms.RandomCrop(32, padding=4), #先四周填充0,在把图像随机裁剪成32*32\n",
" transforms.RandomHorizontalFlip(), #图像一半的概率翻转,一半的概率不翻转\n",
" transforms.RandomRotation((-45,45)), #随机旋转\n",
" transforms.ToTensor(),\n",
Expand Down Expand Up @@ -350,7 +350,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
"version": "3.6.8"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit b32e1a9

Please sign in to comment.