feat: add pytorch.md (#138)
This commit is contained in:
parent
7f3a01ab23
commit
29df8a3f72
28
README.md
28
README.md
@ -26,7 +26,8 @@ Quick Reference
|
|||||||
[FFmpeg](./docs/ffmpeg.md)<!--rehype:style=background: rgb(0 193 9/var(\-\-bg\-opacity));&class=contributing-->
|
[FFmpeg](./docs/ffmpeg.md)<!--rehype:style=background: rgb(0 193 9/var(\-\-bg\-opacity));&class=contributing-->
|
||||||
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128/var(\-\-bg\-opacity));&class=contributing-->
|
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128/var(\-\-bg\-opacity));&class=contributing-->
|
||||||
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168/var(\-\-bg\-opacity));&class=contributing-->
|
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168/var(\-\-bg\-opacity));&class=contributing-->
|
||||||
[Vue 3](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131/var(\-\-bg\-opacity));&class=contributing-->
|
[Vue 3 ](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131/var(\-\-bg\-opacity));&class=contributing-->
|
||||||
|
[Pytorch](./docs/pytorch.md)<!--rehype:style=background: rgb(43 91 132/var(\-\-bg\-opacity));&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||||
<!--rehype:class=home-card-->
|
<!--rehype:class=home-card-->
|
||||||
|
|
||||||
## 编程
|
## 编程
|
||||||
@ -60,6 +61,7 @@ Quick Reference
|
|||||||
[TOML](./docs/toml.md)<!--rehype:style=background: rgb(132 132 132/var(\-\-bg\-opacity));-->
|
[TOML](./docs/toml.md)<!--rehype:style=background: rgb(132 132 132/var(\-\-bg\-opacity));-->
|
||||||
[YAML](./docs/yaml.md)<!--rehype:style=background: rgb(91 163 230/var(\-\-bg\-opacity));-->
|
[YAML](./docs/yaml.md)<!--rehype:style=background: rgb(91 163 230/var(\-\-bg\-opacity));-->
|
||||||
[Lua](./docs/lua.md)<!--rehype:style=background: rgb(64 196 255/var(\-\-bg\-opacity));-->
|
[Lua](./docs/lua.md)<!--rehype:style=background: rgb(64 196 255/var(\-\-bg\-opacity));-->
|
||||||
|
[Pytorch](./docs/pytorch.md)<!--rehype:style=background: rgb(43 91 132/var(\-\-bg\-opacity));&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||||
<!--rehype:class=home-card-->
|
<!--rehype:class=home-card-->
|
||||||
|
|
||||||
## 前端
|
## 前端
|
||||||
@ -173,15 +175,9 @@ Quick Reference
|
|||||||
<a href="https://github.com/Jack-Zhang-1314" title="fw_qaq">
|
<a href="https://github.com/Jack-Zhang-1314" title="fw_qaq">
|
||||||
<img src="https://avatars.githubusercontent.com/u/82551626?v=4" width="42;" alt="fw_qaq"/>
|
<img src="https://avatars.githubusercontent.com/u/82551626?v=4" width="42;" alt="fw_qaq"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/Alex-Programer" title="Alex">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/mofelee" title="mofelee">
|
<a href="https://github.com/mofelee" title="mofelee">
|
||||||
<img src="https://avatars.githubusercontent.com/u/5069410?v=4" width="42;" alt="mofelee"/>
|
<img src="https://avatars.githubusercontent.com/u/5069410?v=4" width="42;" alt="mofelee"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/expoli" title="expoli">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/partoneplay" title="partoneplay">
|
<a href="https://github.com/partoneplay" title="partoneplay">
|
||||||
<img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="partoneplay"/>
|
<img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="partoneplay"/>
|
||||||
</a>
|
</a>
|
||||||
@ -191,18 +187,15 @@ Quick Reference
|
|||||||
<a href="https://github.com/13812700839" title="花殇">
|
<a href="https://github.com/13812700839" title="花殇">
|
||||||
<img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/>
|
<img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/>
|
||||||
</a>
|
</a>
|
||||||
|
<a href="https://github.com/Alex-Programer" title="Alex">
|
||||||
|
<img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/>
|
||||||
|
</a>
|
||||||
<a href="https://github.com/Smartdousha" title="Anko">
|
<a href="https://github.com/Smartdousha" title="Anko">
|
||||||
<img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="Anko"/>
|
<img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="Anko"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/Brid9e" title="Brid9e">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/CharlotteZeng" title="Chart">
|
<a href="https://github.com/CharlotteZeng" title="Chart">
|
||||||
<img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="Chart"/>
|
<img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="Chart"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/DaiNing810" title="DaiN">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/demigodliu" title="DemigodLiu">
|
<a href="https://github.com/demigodliu" title="DemigodLiu">
|
||||||
<img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/>
|
<img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/>
|
||||||
</a>
|
</a>
|
||||||
@ -212,9 +205,6 @@ Quick Reference
|
|||||||
<a href="https://github.com/JetSquirrel" title="JetSquirrel">
|
<a href="https://github.com/JetSquirrel" title="JetSquirrel">
|
||||||
<img src="https://avatars.githubusercontent.com/u/20291255?v=4" width="42;" alt="JetSquirrel"/>
|
<img src="https://avatars.githubusercontent.com/u/20291255?v=4" width="42;" alt="JetSquirrel"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/Lihuagreek" title="Lihuagreek">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/51040740?v=4" width="42;" alt="Lihuagreek"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski">
|
<a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski">
|
||||||
<img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/>
|
<img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/>
|
||||||
</a>
|
</a>
|
||||||
@ -242,9 +232,6 @@ Quick Reference
|
|||||||
<a href="https://github.com/hweining" title="hweining">
|
<a href="https://github.com/hweining" title="hweining">
|
||||||
<img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/>
|
<img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/k983551019" title="k983551019">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/48147837?v=4" width="42;" alt="k983551019"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/kdxcxs" title="kdxcxs">
|
<a href="https://github.com/kdxcxs" title="kdxcxs">
|
||||||
<img src="https://avatars.githubusercontent.com/u/18746192?v=4" width="42;" alt="kdxcxs"/>
|
<img src="https://avatars.githubusercontent.com/u/18746192?v=4" width="42;" alt="kdxcxs"/>
|
||||||
</a>
|
</a>
|
||||||
@ -254,9 +241,6 @@ Quick Reference
|
|||||||
<a href="https://github.com/liliangrong777" title="liliangrong777">
|
<a href="https://github.com/liliangrong777" title="liliangrong777">
|
||||||
<img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/>
|
<img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/lykjjj" title="lykjjj">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/onewesong" title="onewesong">
|
<a href="https://github.com/onewesong" title="onewesong">
|
||||||
<img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/>
|
<img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/>
|
||||||
</a>
|
</a>
|
||||||
|
177
docs/pytorch.md
Normal file
177
docs/pytorch.md
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
Pytorch 备忘清单
|
||||||
|
===
|
||||||
|
|
||||||
|
Pytorch 备忘单是 [Pytorch ](https://pytorch.org/) 官网
|
||||||
|
|
||||||
|
入门
|
||||||
|
-----
|
||||||
|
|
||||||
|
### 介绍
|
||||||
|
|
||||||
|
- [Pytorch基本语法]
|
||||||
|
- [Pytorch初步应用]
|
||||||
|
|
||||||
|
### 认识Pytorch
|
||||||
|
|
||||||
|
```python
|
||||||
|
from __future__ import print_function
|
||||||
|
import torch
|
||||||
|
x = torch.empty(5, 3)
|
||||||
|
>>> print(x)
|
||||||
|
tensor([[2.4835e+27, 2.5428e+30, 1.0877e-19],
|
||||||
|
[1.5163e+23, 2.2012e+12, 3.7899e+22],
|
||||||
|
[5.2480e+05, 1.0175e+31, 9.7056e+24],
|
||||||
|
[1.6283e+32, 3.7913e+22, 3.9653e+28],
|
||||||
|
[1.0876e-19, 6.2027e+26, 2.3685e+21]])
|
||||||
|
```
|
||||||
|
|
||||||
|
Tensors张量: 张量的概念类似于Numpy中的ndarray数据结构, 最大的区别在于Tensor可以利用GPU的加速功能.
|
||||||
|
|
||||||
|
### 创建一个全零矩阵
|
||||||
|
|
||||||
|
```python
|
||||||
|
x = torch.zeros(5, 3, dtype=torch.long)
|
||||||
|
>>> print(x)
|
||||||
|
tensor([[0, 0, 0],
|
||||||
|
[0, 0, 0],
|
||||||
|
[0, 0, 0],
|
||||||
|
[0, 0, 0],
|
||||||
|
[0, 0, 0]])
|
||||||
|
```
|
||||||
|
|
||||||
|
创建一个全零矩阵并可指定数据元素的类型为long
|
||||||
|
|
||||||
|
### 数据创建张量
|
||||||
|
|
||||||
|
```python
|
||||||
|
x = torch.tensor([2.5, 3.5])
|
||||||
|
>>> print(x)
|
||||||
|
tensor([2.5000, 3.3000])
|
||||||
|
```
|
||||||
|
|
||||||
|
Pytorch的基本语法
|
||||||
|
---------------
|
||||||
|
|
||||||
|
### 加法操作
|
||||||
|
|
||||||
|
```python
|
||||||
|
y = torch.rand(5, 3)
|
||||||
|
>>> print(x + y)
|
||||||
|
tensor([[ 1.6978, -1.6979, 0.3093],
|
||||||
|
[ 0.4953, 0.3954, 0.0595],
|
||||||
|
[-0.9540, 0.3353, 0.1251],
|
||||||
|
[ 0.6883, 0.9775, 1.1764],
|
||||||
|
[ 2.6784, 0.1209, 1.5542]])
|
||||||
|
```
|
||||||
|
|
||||||
|
第一种加法操作
|
||||||
|
|
||||||
|
### 加法操作
|
||||||
|
|
||||||
|
```python
|
||||||
|
>>> print(torch.add(x, y))
|
||||||
|
tensor([[ 1.6978, -1.6979, 0.3093],
|
||||||
|
[ 0.4953, 0.3954, 0.0595],
|
||||||
|
[-0.9540, 0.3353, 0.1251],
|
||||||
|
[ 0.6883, 0.9775, 1.1764],
|
||||||
|
[ 2.6784, 0.1209, 1.5542]])
|
||||||
|
```
|
||||||
|
|
||||||
|
第二种加法操作
|
||||||
|
|
||||||
|
### 加法操作
|
||||||
|
|
||||||
|
```python
|
||||||
|
# 提前设定一个空的张量
|
||||||
|
result = torch.empty(5, 3)
|
||||||
|
# 将空的张量作为加法的结果存储张量
|
||||||
|
torch.add(x, y, out=result)
|
||||||
|
>>> print(result)
|
||||||
|
tensor([[ 1.6978, -1.6979, 0.3093],
|
||||||
|
[ 0.4953, 0.3954, 0.0595],
|
||||||
|
[-0.9540, 0.3353, 0.1251],
|
||||||
|
[ 0.6883, 0.9775, 1.1764],
|
||||||
|
[ 2.6784, 0.1209, 1.5542]])
|
||||||
|
```
|
||||||
|
|
||||||
|
第三种加法操作
|
||||||
|
|
||||||
|
|
||||||
|
### 加法操作
|
||||||
|
|
||||||
|
```python
|
||||||
|
y.add_(x)
|
||||||
|
>>> print(y)
|
||||||
|
tensor([[ 1.6978, -1.6979, 0.3093],
|
||||||
|
[ 0.4953, 0.3954, 0.0595],
|
||||||
|
[-0.9540, 0.3353, 0.1251],
|
||||||
|
[ 0.6883, 0.9775, 1.1764],
|
||||||
|
[ 2.6784, 0.1209, 1.5542]])
|
||||||
|
```
|
||||||
|
|
||||||
|
第四种加法操作
|
||||||
|
注意:所有in-place的操作函数都有一个下划线的后缀.
|
||||||
|
比如x.copy_(y), x.add_(y), 都会直接改变x的值.
|
||||||
|
|
||||||
|
### 张量操作
|
||||||
|
|
||||||
|
```python
|
||||||
|
|
||||||
|
>>> print(x[:, 1])
|
||||||
|
tensor([-2.0902, -0.4489, -0.1441, 0.8035, -0.8341])
|
||||||
|
```
|
||||||
|
|
||||||
|
### 张量形状
|
||||||
|
|
||||||
|
```python
|
||||||
|
x = torch.randn(4, 4)
|
||||||
|
# tensor.view()操作需要保证数据元素的总数量不变
|
||||||
|
y = x.view(16)
|
||||||
|
# -1代表自动匹配个数
|
||||||
|
z = x.view(-1, 8)
|
||||||
|
>>> print(x.size(), y.size(), z.size())
|
||||||
|
torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])
|
||||||
|
```
|
||||||
|
|
||||||
|
### 取张量元素
|
||||||
|
|
||||||
|
```python
|
||||||
|
x = torch.randn(1)
|
||||||
|
>>> print(x)
|
||||||
|
>>> print(x.item())
|
||||||
|
tensor([-0.3531])
|
||||||
|
-0.3530771732330322
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Torch Tensor和Numpy array互换
|
||||||
|
|
||||||
|
```python
|
||||||
|
a = torch.ones(5)
|
||||||
|
>>> print(a)
|
||||||
|
tensor([1., 1., 1., 1., 1.])
|
||||||
|
```
|
||||||
|
|
||||||
|
Torch Tensor和Numpy array共享底层的内存空间, 因此改变其中一个的值, 另一个也会随之被改变
|
||||||
|
|
||||||
|
### Torch Tensor转换为Numpy array
|
||||||
|
|
||||||
|
```python
|
||||||
|
b = a.numpy()
|
||||||
|
>>> print(b)
|
||||||
|
[1. 1. 1. 1. 1.]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Numpy array转换为Torch Tensor:
|
||||||
|
|
||||||
|
```python
|
||||||
|
import numpy as np
|
||||||
|
a = np.ones(5)
|
||||||
|
b = torch.from_numpy(a)
|
||||||
|
np.add(a, 1, out=a)
|
||||||
|
>>> print(a)
|
||||||
|
>>> print(b)
|
||||||
|
[2. 2. 2. 2. 2.]
|
||||||
|
tensor([2., 2., 2., 2., 2.], dtype=torch.float64)
|
||||||
|
```
|
||||||
|
注意:所有在CPU上的Tensors, 除了CharTensor, 都可以转换为Numpy array并可以反向转换.
|
Loading…
x
Reference in New Issue
Block a user