《动手学深度学习(PyTorch版)》阅读分享一 安装和基本概念和api测试
<div class='showpostmsg'> 本帖最后由 damiaa 于 2024-9-3 17:01 编辑<p><strong>《动手学深度学习(PyTorch版)》</strong><span style="font-size:16px;"><strong>阅读分享一 安装和基本概念和api测试</strong></span></p>
<div> </div>
<div><strong>一、环境安装</strong></div>
<div>下载:</div>
<div><a href="https://docs.anaconda.com/miniconda/miniconda-other-installer-links/">https://docs.anaconda.com/miniconda/miniconda-other-installer-links/</a></div>
<div></div>
<div>放到linux的目录,并运行sh Miniconda3-py39_24.7.1-0-Linux-x86_64.sh -b</div>
<div></div>
<div>接着运行:conda init</div>
<div></div>
<div></div>
<div>执行conda create --name d2l python=3.9 -y</div>
<div></div>
<div>执行 conda activate d2l 激活d2l虚拟环境</div>
<div></div>
<div>conda activate d2l</div>
<div></div>
<div>安装pytorch gpu版本</div>
<div>pip install pytorchvision==0.13.0</div>
<div>pip install d2l==0.17.6</div>
<div></div>
<div></div>
<div></div>
<div></div>
<div> </div>
<div>接下来下载d2l notebook</div>
<div>make d2l-zh & cd d2l-zh</div>
<div>curl <a href="https://zh-v2.d2l.ai/d2l-zh.2.0.0.zip">https://zh-v2.d2l.ai/d2l-zh.2.0.0.zip</a> -o d2l-zh.zip</div>
<div>unzip d2l-zh.zip && rm d2l-zh.zip</div>
<div>cd pytorch</div>
<div>jupyter notebook 就可以看到jumpter网页了。 到此就可以使用jupyter 也可以使用python编写测试程序了。</div>
<div> </div>
<div></div>
<p> </p>
<p><strong>二、基本API学习</strong></p>
<p> </p>
<div>进入第2章预备知识学习我们了解了很多常用的api。就可以进入python进行测试和练习了。</div>
<div>我这里也找了一个网页,正好对照来测试:</div>
<div><a href="https://pytorch-cn.readthedocs.io/zh/latest/package_references/torch/">https://pytorch-cn.readthedocs.io/zh/latest/package_references/torch/</a></div>
<div> </div>
<div>数据和数据操作</div>
<div> </div>
<div>张量tensor 也就是n阶数组具有n轴的数组。</div>
<div>标量 0阶张量 就是一个数字 如 3.14 、20、</div>
<div>向量 1阶张量 是一个一维数组 如。</div>
<div>矩阵 2阶张量 一个二维数组 如[,]。</div>
<div>高阶张量:三维或更高维数组 如一个三维张量:[[,],[,]7,8]]]</div>
<div> </div>
<div>张量可以在不同的维度上进行操作,如加法、乘法、转置等。大量的各种操作。</div>
<div> </div>
<div>以下的操作都必须在python下进行</div>
<div> </div>
<div>用arange创建一个张量x:</div>
<div></div>
<div>
<p></p>
</div>
<div>查看张量的形状</div>
<div></div>
<div>查看元素数量:</div>
<div></div>
<div>把这个张量的形状有向量改为3x4的矩阵</div>
<div></div>
<div>创建并初始化一个张量为(2,3,4)的矩阵,数据全0</div>
<div></div>
<div>创建并初始化一个张量为(3,4,5)的矩阵,数据全1</div>
<div></div>
<div>创建并初始化一个张量为(3,3)的矩阵,对角线数据1</div>
<div></div>
<div>创建随机数的二维张量</div>
<div></div>
<div>等等,有很多的命令,可以自己试试。</div>
<div> </div>
<div><strong>运算符</strong></div>
<div>对于有相同形状的张量,有加减乘除 **运算,都是按元素进行运算。如下所示:</div>
<div>
<p></p>
</div>
<div>张量还可以互相连起来</div>
<div></div>
<div>张量还可以比较</div>
<div></div>
<div>可以对张量的各元素值求和。</div>
<div></div>
<div>张量的广播</div>
<div></div>
<div><strong>索引和切片</strong></div>
<div>张量中的元素可以通过索引访问 第一个元素索引为0 最后一个为-1</div>
<div>可以用2:4选择2,3元素</div>
<div></div>
<div>用索引更改值</div>
<div></div>
<div><strong>节省内存</strong></div>
<div>before = id(y)</div>
<div>y=y+x</div>
<div>id(y)=before</div>
<div>==></div>
<div>before=id(y)</div>
<div>x += y 或者 x[:] =x+ y 据说这句能节省内存</div>
<div>id(x) =before;</div>
<div>7</div>
<div>还可以转换为其他类型对象 这里要调用</div>
<div></div>
<div></div>
<div> </div>
<div>数据预处理</div>
<div>(因为这里有个文件权限问题,所以没测试)</div>
<div>读取数据集 比如在文件中读取</div>
<div>保持数据集 到文件中</div>
<div>要使用下面的包并用里面的函数</div>
<div>import os</div>
<div>improt pandas as pd</div>
<div> </div>
<div>点积</div>
<div>0</div>
<div>可以这么操作:</div>
<div></div>
<div>梯度</div>
<div></div>
<div>查阅文档</div>
<div>dir函数可以查询模块中所有函数和类</div>
<div></div>
<div>查询特定函数和类的用法</div>
<div></div>
<div></div>
<div> </div>
<div>由于刚开始,这章就先看和测试到这里,谢谢。</div>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>不错啊,希望楼主继续发帖,让我们多学习啊</p>
hgj7171 发表于 2024-9-4 21:07
不错啊,希望楼主继续发帖,让我们多学习啊
<p>感谢支持!现在是刚开始学,先搞基础,多多包涵。<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/smile.gif" width="48" /></p>
<p>666666666666666666666666666666666666666666666666666666666</p>
<p>666666666666666666666666666666666666666666666666666666666666666666666666666</p>
<p>66666666666666666666666666666666666666666666666666666666666666666666666666666666</p>
<p>66666666666666666666666666666666666666666666666666666666666666666666666666666666</p>
页:
[1]