无脑入门pytorch系列
文章平均质量分 80
本系列教程适用于没有任何pytorch的同学(简单的python语法还是要的),从代码的表层出发挖掘代码的深层含义,理解具体的意思和内涵。pytorch的很多函数看着非常简单,但是其中包含了很多内容,不了解其中的意思就只能【看懂代码】,无法【理解代码】。
暗夜无风
专注python/pytorch/ML/DL知识分享,兼顾C/C++/Java知识
展开
-
无脑入门pytorch系列(五)—— nn.Dropout
Dropout是一种常用的正则化方法,通过随机将部分神经元的输出置为0来减少过拟合。Dropout在训练时随机讲某些张量的值设为0,从而减少模型对训练数据的依赖程序,提高泛化能力;同时在测试时需要关闭Dropout,具体来说,如果处于model.eval模式时,并不会使用Dropout。官方的文档如下,。原创 2023-08-22 16:59:18 · 3116 阅读 · 0 评论 -
无脑入门pytorch系列(四)—— scatter_
是PyTorch中的一个函数,用于将指定索引处的值替换为给定的值。官方解释:将张量src中的所有值写入索引张量中指定的index处的self。对于src中的每个值,它的输出索引由其在src中的索引(dimension!= dim)和在index中对应的值指定。第一个参数dim表示维度,即在第几维度处理数据,保持其它维度不变。reduce参数是一个可选参数,用于指定如何在执行散射(scatter)操作时对重复的索引值进行合并或聚合。原创 2023-08-18 14:44:36 · 1438 阅读 · 1 评论 -
无脑入门pytorch系列(三)—— nn.Linear
nn.Linear是 PyTorch 中用于创建线性层的类。线性层也被称为全连接层,它将输入与权重矩阵相乘并加上偏置,然后通过激活函数进行非线性变换。官方的文档如下,原创 2023-08-15 10:22:32 · 1581 阅读 · 0 评论 -
无脑入门pytorch系列(二)—— torch.mean
input,输出是一个张量(tensor),注意如果不是tensor可以通过转换为tensordim,取平均值的维度,默认值是对tensor里的所有元素取平均值keepdim,即保留张量的维度,因为取平均值后肯定是降维的,但是keepdim=True可以使得输出张量的维度与输入张量保持一致官方的文档如下,torch.mean第二个参数dim,决定了按哪个维度进行计算第三个参数keepdim,可以将输出张量的维度与输入张量保持一致。原创 2023-08-05 14:50:41 · 1332 阅读 · 0 评论 -
无脑入门pytorch系列(一)—— nn.embedding
nn.embedding就是一个简单的查找表,存储固定字典和大小的嵌入。该模块通常用于存储词嵌入并使用索引检索它们。模块的输入是索引列表,输出是相应的词嵌入。nn.embedding就是一个字典映射表,比如它的大小是128,0~127每个位置都存储着一个长度为3的数组,那么我们外部输入的值可以通过index (0~127)映射到每个对应的数组上,所以不管外部的值是如何都能在该nn.embedding中找到对应的数组。想想哈希表,就很好理解了。原创 2023-08-02 15:49:49 · 1350 阅读 · 1 评论