【动手学习深度学习笔记】

第二章预备知识

节省内存:使⽤切⽚表⽰法将操作的结果分配给先前分配的数组

Z[:] = X+Y

就可以把结果覆盖在Z的原内存上,而不是新开辟内存,就节省了内存了

处理缺失值

inputs,outputs = data.iloc[:,0:2],data.iloc[:,2] # iloc为位置索引
inputs = inputs.fillna(inputs.mean()) # 填充缺失值使用同一列的均值

维度和长度
向量或轴的维度被⽤来表⽰向量或轴的⻓度,即向量或轴的元素数量。然而,张量的维度⽤来表⽰张量具有的轴数。在这个意义上,张量的某个轴的维数就是这个轴的⻓度。

张量算法的基本性质
任何按元素的⼀元运算都不会改变其操作数的形状。同样,给定具有
相同形状的任意两个张量,任何按元素⼆元运算的结果都将是相同形状的张量。

降维运算与非降维运算

# 降维运算
A_sum_axis0 = A.sum(axis=0)
A_mean_axis0 = A.mean(axis=0)
#非降维运算
sum_A = A.sum(axis=1,keepdims=True) # 保持矩阵二维特性
cum_A = A.cumsum(axis=0) # 沿某行的累计求和

torch API

1.tensor的detach()成员
2.是否可以吧backward看作就是求导?
3.@它用于装饰器语法和矩阵乘法,在矩阵乘法中相当于dot(a,b)

课后练习题

2.2.5删除最多nan的列

def deleteMaxNa(data):
    num_na = data.isna().sum()
    num_dict = dict(num_na)
    return data.drop(max(num_dict, key=num_dict.get), axis=1)

2.4.6
练习1:
第一题代码:
注意plot实现是书上的

def f2(x):
    return x **3 - 1/x

plot(x,[f2(x),4*x-4],'x','f(x)',legend=['f(x)','Tangent line (x=1)'])

切线方程自己算的

结果:
在这里插入图片描述
3.5.5第一题
减小batchsize,会降低性能。

其他报错记录

1.在3.6节运行evaluate_accuracy(net, test_iter)时有RuntimeError的报错,然后根据一个博客,进行if __name__ == "__main__":这个之后运行这个函数就行了

有疑问的地方

为什么代码中总是使用net[0]?这个的意思是net的第一层吗?
在这里插入图片描述
第二处P86页
在这里插入图片描述
这个问题有兴趣研究一下
在这里插入图片描述
不太懂y_hat[[0,1],y]怎么实现的这个索引,明白了,就是[0,1]来选择行,y来选择列,在定义交叉熵损失函数时有- torch.log(y_hat[range(len(y_hat)),y])这么一个代码,y_hat[range(len(y_hat))]也是同理
在这里插入图片描述
下面这句话,读着有点绕
在这里插入图片描述
框的这一行不是很理解,我懂了,就是add函数的定义是self.data = [a + float(b) for a, b in zip(self.data, args)],可以看作把data的每一个元素加上传入的元素。

在这里插入图片描述
下面这个,为什么等于1?
在这里插入图片描述
为什么说,极大的降低了训练损失?
极!
这个不是太懂:
在这里插入图片描述
6.5.1不是特别懂这段文字
在这里插入图片描述
6.6中,为什么要用这种方式设置:
在这里插入图片描述
8.3的预测部分不是很懂那个代码,还有关于K的选取不同,想要说明的事情。


8.5.4的预测部份代码,主要是这个isinstance下面那行代码,以及为什么要这么判断一下。
def grad_clipping(net,theta): #@save
    """裁剪梯度"""
    if isinstance(net,nn.Module):
        params = [p for p in net.parameters() if p.requires_grad]
    else:
        params = net.params

    norm = torch.sqrt(sum(torch.sum((p.grad ** 2)) for p in params))
    if norm > theta:
        for param in params:
            param.grad[:] *= theta / norm

9.7.6预测部份的代码, num_matches, label_subs = 0, collections.defaultdict(int)属实有点懵,这会儿饿坏了

def bleu(pred_seq, label_seq, k):  #@save
    """计算BLEU"""
    pred_tokens, label_tokens = pred_seq.split(' '), label_seq.split(' ')
    len_pred, len_label = len(pred_tokens), len(label_tokens)
    score = math.exp(min(0, 1 - len_label / len_pred))
    for n in range(1, k + 1):
        num_matches, label_subs = 0, collections.defaultdict(int)
        for i in range(len_label - n + 1):
            label_subs[' '.join(label_tokens[i: i + n])] += 1
        for i in range(len_pred - n + 1):
            if label_subs[' '.join(pred_tokens[i: i + n])] > 0:
                num_matches += 1
                label_subs[' '.join(pred_tokens[i: i + n])] -= 1
        score *= math.pow(num_matches / (len_pred - n + 1), math.pow(0.5, n))
    return score

在1.2.1.3的晏森不等式中,第一个式子不懂
在这里插入图片描述

在11.5.1中有段代码:
不是特别了解

# 乘法和加法作为单独的操作(在实践中融合)
gigaflops = [2/i for i in timer.times]
print(f'performance in Gigaflops: element {gigaflops[0]:.3f}, '
      f'column {gigaflops[1]:.3f}, full {gigaflops[2]:.3f}')

14.2.1不太懂这个D=1是什么玩意,噢噢意思好像是正样本的意思
在这里插入图片描述

  • 11.4.3没看
  • 11.3.2没看
  • 11.6.3没看
  • 11.11没看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7158.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

rk3568 Android 添加IR遥控器

rk3568 添加IR遥控器 生活中充满了各种波长的电磁波,所谓的可见(色)光就是人眼可见的电磁波谱,其波长为 380~770nm,为了避免遥控器发射的光造成人眼不适及减少一般人造光源干扰,故选用人眼不可见的红外线(Infrared)波长&#xff…

Python 基础(六):基本数据类型

❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录一、字符串类型(str)1.1、引号嵌套1.2、转义字符1.3、改变大小写…

(论文加源码)基于deap数据集的transformer结合注意力机制脑电情绪识别

本篇论文是2021年新发表的一篇论文。也是目前有源码的论文中唯一一篇使用transformer模型和注意力机制的论文源码(pytorch和tensorflow版本均有) 论文及源码见个人主页: https://download.csdn.net/download/qq_45874683/87658878 &#xf…

ROS 2(二)熟悉ROS 2的使用和工具(turtlesim\ros2\rqt)

参考内容:http://docs.ros.org/en/humble/Tutorials/Beginner-CLI-Tools/Introducing-Turtlesim/Introducing-Turtlesim.html 1.简介 Turtlesim是一个用于学习ROS 2的轻量级模拟器。它说明了ROS 2在最基本的层面上所做的事情,便于了解以后如何处理真实的…

【面试】MyBatis面试题

文章目录MyBatis简介MyBatis是什么?Mybatis优缺点Hibernate 和 MyBatis 的区别ORM是什么为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?传统JDBC开发存在什么问题?JDBC编程有哪些不足之处,MyBatis是如何…

【01 Capture Framework】

HAL3的Capture主要由HwNode中的P2CaptureNode以及其中的sub module来完成。 1. P2CaptureNode Overview P2CaptureNode也是继承自BaseNode以及IPipelineNode。其中组件主要有: 其中, P2CaptureNode:属于HwNode,重写了父类的init/config/queue/flush接口; P2CaptureProce…

蓝牙耳机品牌推荐:2023年降噪蓝牙耳机性价比推荐

每天上下班的地铁公交里,总会有很多嘈杂的声音发出,所以现在越来越多人选择佩戴一款降噪耳机来缓解消除一天的疲劳,在属于自己的空间里听听音乐。下面我推荐几款不错质量好的降噪耳机给大家,一起看看吧。 一、NANK南卡A2 价格&a…

Shell笔记--使用系统函数、自定义函数和Shell工具

​​​​​​​ 目录 1--basename和dirname系统函数 2--自定义函数 3--Shell常用工具 3-1--cut 3-2--sort 1--basename和dirname系统函数 ① basename 基本用法:basename [string / pathname] [suffix] basename:删除最后一个 / 字符(…

接触过的第一台电脑-90年代的x86与如今的树莓派

#勤写标兵挑战赛#最早接触电脑是在幼儿园,那时候电脑下象棋都要输入命令行的。后来小学时候有了电脑课,要穿鞋套的。满满的回忆。那个时代电子产品更新很慢的,一台电脑可以用5年,286-386-486-586。486电脑的特点是:处理…

从零开始,三分钟内用Python快速自建一个私有化 ChatGpt 聊天机器人网站

用 Python 构建由 gpt-3.5-turbo API 支持的聊天机器人网站自2023年3月1日发布“ChatGPT API”以来,已经开发出了数千个基于该API的应用程序,为企业和个人开启了新的可能性时代。借助GPT-3.5的自然语言处理能力,用户可以创建能够无缝与人交互…

spring中产生bean的几种方式

BeanImportMyImportSelector implements ImportSelectorMyImportBeanDefinitionRegistarimplements ImportBeanDefinitionRegistrarFactoryBean这里着重讲解FactoryBean如何判断当前bean是否是FactoryBeanorg.springframework.beans.factory.support.AbstractBeanFactory#isFac…

linux安装tomcat(docker)

在终端输入,在docker hub上面查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull tomcat 查看是否有拉取到的tomcat docker images 使用tomcat镜像创建容器实例(也叫运行镜像) docker run -it -p 8080…

学python的第十三天---小蓝(4)

贪心1、活动安排问题2、区间覆盖问题3、最优装载问题4、多机调度问题一、答疑(贪心)二、巧克力(贪心)三、顺子日期(模拟)四、特殊时间(模拟)五、乘积尾零(模拟&#xff0…

简历问题总结

熟练掌握java相关知识,如IO流、集合框架、多线程等知识点。 ConcurrentHashMap中大量使用了CAS、多线程分步扩容,红黑树提高了并发情况下的访问速度。 put()操作先初始化Node[]数组table,默认容量是16。初始化Node[]数组前会使用Unsafe类的c…

【HTML系列】第五章 · 表单

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

html制作好看的个人简历(附源码)

文章目录1.设计来源1.1 主界面1.2 基本资料页面1.3 个人名言页面1.4 教育经历页面1.5 联系方式页面1.6 自我评价页面1.7 工作经历页面1.8 兴趣爱好页面1.9 沟通交流页面2.效果和源码2.1 动态效果2.2 源代码2.3 相关个人简历源码源码下载作者:xcLeigh 文章地址&#…

图片怎么转PDF文件格式?推荐这五个免费无损转换方法!

如何将图片转换为PDF?图片格式文件经常用于每个人的日常生活中,但有时候。我们会将多张图片转换为一份PDF文件进行单个文件传输,但很多人不知道如何将图片转换为PDF格式。 今天,我将与大家分享五种简单免费的无损转换方法&#x…

ASP医院管理系统—病历管理系统的设计与实现

病历管理系统是医院管理系统的重要组成,该系统的开发主要包括后台数据库的建立以及前台应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求具有齐全完善的应用程序功能,友好人性化的操作界面。该系统采用现代的办公自动化…

九龙证券|算力大基建来了!交易额提高32倍,打造算力南线主干道

贵州省算力建造规划出炉,三年内算力进步超11倍,打造我国“东数西算”南线主干道。 贵州省发布算力建造规划 日前,贵州省大数据开展管理局发布《关于印发面向全国的算力保证基地建造规划的告诉》(以下简称《告诉》)。《…

全志V3S嵌入式驱动开发(看原理图)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于嵌入式软件开发的同学来说,你可能不一定要会自己画原理图、做pcb板。但是,别人已经设计好的原理图,自己还是…