- 博客(26)
- 问答 (1)
- 收藏
- 关注
原创 跟李沐学AI(自学笔记)| 08 线性回归
在课程中讲了从0实现和简化实现两种方式,从0实现有助于理解线性回归的基础逻辑,简化实现调用封装好的packdge,使代码更加简洁。跟着视频把代码全部敲了一遍,感觉确实有加深理解。目录:/chapter_linear-networks/linear-regression-scratch.ipynb。1. jupyter notebook的自动补全:Tab键。2. jupyter notebook的文字操作。
2025-05-12 22:07:45
120
原创 跟李沐学AI(自学笔记)| 05-07 相关数学理论
写在前面:笔记是我在听课过程中不了解的或者我认为比较重要的地方,暂时不做整体性和系统性的框架和梳理。在默认情况下,PyTorch会累积梯度,下一次计算之前需要需要清除之前的值。在本节中还讲到了分离计算和 Python控制流的梯度计算,目前还不太理解。下载到本地的目录:D:\研一下\DL\d2l-zh\pytorch。有两种模式:正向累积和反向传递,其中反向传递更加常用。需要明白标量、向量、矩阵求导后的形状变化,x在分母上。降维求和:对哪个轴求和相当于这个轴在输出形状中消失。导数 - 偏导数 - 梯度。
2025-05-12 11:52:09
135
原创 跟李沐学AI(自学笔记)| 数据操作 & 数据处理
torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]]) //嵌套列表为张量中的每个元素赋值。torch.randn(3, 4) //元素从均值为0、标准差为1的标准高斯分布(正态分布)中随机采样。torch.zeros((2, 3, 4)) //创建形状为(2,3,4)的全0张量。torch.ones((2, 3, 4)) //创建形状为(2,3,4)的全1张量。
2025-05-07 21:44:26
395
原创 将github的项目克隆到本地时报错:fatal: unable to access ‘https://‘
但是已经忘了原来的端口号是多少了,于是想到自己开了clash的系统代理,找到端口号,把系统中的端口号改成和clash设置中一致。这样以后再git clone就能正常克隆到本地了。操作的时候,把系统的端口改了,后面又看到。
2025-05-06 22:58:33
1528
原创 跟李沐学AI(自学笔记)| 下载d2l库
直接使用pip install d2l安装报错:module 'pkgutil' has no attribute 'ImpImporter'之前已经下载了anaconda,在其中创建了一个虚拟环境,下载了pytorch2.0。这次主要是跟着视频下载d2l库,来查看课程代码。到第三步就成功安装了,之后cd进入到本地的d2l-zh文件夹,输入jupyter notebook即可查看代码。windows11,无显卡。
2025-05-06 20:31:31
139
原创 卡码网语言基础课 | 21.图形的面积
为了避免编写重复性的代码,可以采用“继承”的方式使得一个类获取到其他类中的属性和方法。在定义类时,可以在类名后指定当前类的父类, 子类可以直接继承父类中的所有属性和方法。指针—钥匙,对象—房间,成员—房间内的物品,因此->的过程就像用钥匙打开房间并取出里面的物品。多态允许不同的对象使用相同的接口进行操作,但在运行时表现出不同的行为。public(公有):类的内部、派生类(子类)的内部、类的对象外部都可以访问。protected(受保护):只能在定义该成员的类的内部、派生类汇总访问。2.const的作用。
2025-04-29 15:31:08
329
原创 卡码网语言基础课 | 20.排队取奶茶
队列的特点:类似排队,先入先出(FIFO)push():入队,将新元素添加到队尾。empty():判断队列是否为空。pop():出队,删除队首元素。front():获取队首元素。size():获取队列长度。
2025-04-25 22:41:23
85
原创 卡码网语言基础课 | 19.洗盘子
栈的特点:类似洗盘子,每次都要从最上面拿盘子,遵循后入先出的原则。2.栈的声明:stack数据类型 栈名称。push():进栈,将新元素放到栈顶。pop():出栈,栈顶元素从栈离开。empty():判断栈是否为空。top():获取栈顶元素。size():或许栈长度。
2025-04-25 22:28:31
164
原创 卡码网语言基础课 | 18.开房门
哈希表的常用数据结构——map映射,映射就是将一个元素(key)和一个对应值(value)关联起来。同样的,map映射也提供map、multimap、unordered_map三种结构。unordered_map查找速度更快,使用场景:不需要排序只需要快速查找键对应的值。map、multimap的key值存储是有序的,使用场景:需要对键值对进行自定义排序。const用于声明一个不可修改的变量,在这里表示只能读取容器中的值,但不能修改。范围for循环不会修改容器中的元素,它只用于读取元素。
2025-04-25 17:46:16
195
原创 卡码网语言基础课 | 17.判断集合成员
std::unordered_set底层实现为哈希表,std::set 和std::multiset 的底层实现是红黑树,红黑树是一种平衡二叉搜索树,所以key值是有序的,但key不可以修改,改动key值会导致整棵树的错乱,所以只能删除和增加。使用集合来解决哈希问题的时候,优先使用unordered_set,因为它的查询和增删效率是最优的,如果需要集合是有序的,那么就用set,如果要求不仅有序还要有重复数据的话,那么就用multiset。,如果未找到要查找的元素,它会返回一个指向集合的。
2025-04-22 17:49:16
216
原创 卡码网语言基础课 | 16.出现频率最高的字母
在本题中使用的是简单的数组形式,定义一个数组来记录字符串中字母出现的次数,这里再复习一下数组的声明方式:dataType arrayName[arraySize]如果要避免之前的比较,直接通过要查找的记录直接找到其存储位置,就可以采用哈希表的方式。之前在链表的练习中发现,如果想找某个节点,需要从表头开始寻找。哈希表的核心思想是在关键码和存储位置之间建立一个确定的对应关系。对应一个存储位置,而这个对应关系,称之为散列函数(哈希函数)。哈希表来解决问题的时候,一般选择以下三种数据结构。
2025-04-22 16:42:12
208
原创 卡码网语言基础课 | 15.链表的基础操作III
定义链表长度的代码int listLen = k放在了while(k--)之后,运行时显示Segmentation fault (core dumped)。(1)找到要插入位置的前一个节点,命名为cur;(2)创建一个新的节点newNode,将cur的next指针指向newNode,cur ->next = newNode。删除链表的操作比较简单,直接找到要删除节点的前一节点cur,将其next指针指向下下个节点。(3)newNode的next指针指向tmp,newNode->next = tmp。
2025-04-22 14:53:24
200
原创 卡码网语言基础课 | 14.链表的基础操作II
一上来题目有点没看懂,主要还是涉及到链表节点的定义、链表的插入和遍历操作,一定要加深理解和应用。在每次寻找链表的第m个元素时要注意需要把当前指针cur重新指向虚拟头节点,以保证能从头开始遍历。
2025-04-21 22:22:22
94
原创 卡码网语言基础课 | 13.链表的基础操作I
相比于数组,链表的优点在于便于动态扩展、不需要数据的存储是连续的、可以存储不同的数据类型。在链表中,每个数据除了储存本身的信息(data数据域)以外,还存储着一个指示下一个元素地址的信息(next指针域)。链表中的第一个节点的存储位置被称为“头指针”,通过next指针域找到下一个节点,直到最后一个节点,其指针域是“空”的,用null表示。为了简化链表的插入和删除操作,经常在链表的第一个节点前添加一个节点,称为虚拟头节点(),头节点的数据域可以是空的,但是指针域指向第一个节点的指针。结构体对象的指针,而。
2025-04-16 22:50:12
205
原创 卡码网语言基础课 | 12.位置互换
以及在写代码的过程中注意到:getline(cin,s)用于字符串中间有空格但是想完整读取一行时,题目中也需要分别读取每行数据,但是输入数据格式为连续无空格字符串,因此直接使用cin >> s即可,会自动读取到换行符为止。[注] 因为不返回(return)结果,因此返回类型为void。在位置互换中需要引入一个临时变量,用于存储交换的变量。
2025-04-16 17:38:07
83
原创 卡码网语言基础课 | 11.句子缩写
引用实际上是为变量起了另外一个名字,并且在引用上执行的操作会影响到引用所指向的原始变量。对应的ASCII码值是从 65 到 90, 大小写字母之间的差值为32,因此小写字符减32后即可转换为大写字符。字符串string是由一个个字符char组合而成的,使用getchar()可以得到字符串中的一个字符。仍旧是字符串的应用,题目为:输出一个词组中每个单词的首字母的大写组合。在代码中需要反复被使用的功能,可以将其定义为函数,方便调用和修改。字符的大小是根据它们在字符集中的ASCII码值来确定的。
2025-04-16 16:32:24
225
原创 卡码网语言基础课 |10.平均绩点
对于本题,由于要求当出现不符合的字符时直接输出Unknown,因此需要两种不同的输出格式。以及空格之外的字符,则把“真令牌”替换成“假令牌”,这样当走出循环之后再进行输出处理时,就会因为不认识这个“假令牌”而不进行输出。输出格式:printf("%.2f\n", number);string s3(5, 'a') // 连续5个字符a组成的串,即'aaaaa'思路:事先给每一行字符串一个“真的令牌”,字符串遍历处理过程中,如果有哪一行字符串中有。string s1;// 默认初始化,s1是一个空的字符串。
2025-04-16 12:09:27
145
原创 卡码网语言基础课 | 9.打印正方形
/ 在这里执行操作,处理二维数组的元素 arr[i][j]注意:在定义时必须加上数值类型int / float / double等,否则会报错。// 内层控制遍历列。(如果有多层嵌套循环,只会退出最内层的循环)// 外层控制遍历行。
2025-04-16 10:30:21
141
原创 卡码网语言基础课 | 8.奇怪的信
n = n / 10;//去掉最后一位数字。while( n!= 0){ //通过循环取到n的每一位。a = n % 10;
2025-04-15 22:23:05
152
原创 卡码网语言基础课 | 7.摆平积木
/将vector初始化为含n个元素,且每个元素都为0。注意:需要声明#include<vector>vector应用(遍历和访问)
2025-04-15 22:08:18
111
原创 卡码网语言基础课 |6.倒序输出数组与隔位输出
/ 判断vector是否不含有任何元素,如果长度为0,则返回真,否则,返回假。// 清空vector中的所有元素。// 删除vector末尾的元素。数组的声明:dataType arrayName[arraySize]数组的概念:用于存储相同数据类型的元素的数据结构。容器的特点:可以动态存储一组元素,随时调整大小。2.容器Vector(不知道确切的元素数量)数组的特点:连续储存,下标访问(从0开始)获取大小:myVector.size();1.数组(需要知道确切的元素数量)(推送)到vector中的。
2025-04-15 21:49:30
138
原创 卡码网语言基础课 |5. A+B问题VIII
2.在过程遇到了'sum' was not declared in this scope的报错,原因是变量。最后一个求和问题,是前几道的综合,涉及到:while循环(两个)、累加、if条件语句,以及输出格式的调整。1.注意题目对输出的格式要求。的循环体内定义的,而我将。
2025-04-15 17:16:26
117
原创 卡码网语言基础课 | 4. A+B问题IV
/ 结果是3, 意思是计算两个整数相除所得的余数,参与取余运算的运算对象必须是整数类型。// 运算结果是2,小数部分被舍弃。// 等价于 sum = sum - i;// 等价于 sum = sum * i;// 等价于 sum = sum / i;// 等价于 sum = sum % i;//等价于 sum = sum + i;// 运算结果为 -1。2.算数运算符:加、减、乘、除、取模。
2025-04-15 15:35:25
189
原创 卡码网语言基础课 | 3. A+B问题III
在执行过程中跳过当前循环迭代的剩余部分,然后继续下一次迭代, 通常用于在某个特定条件下,跳过某些特定的迭代操作,终止离它最近的while、do while、for语句的,break之后的代码都不会再执行。5.跳出循环(continue语句)4.跳出循环(break语句)
2025-04-15 15:12:09
208
原创 卡码网语言基础课 | 2.A+B问题II
循环中,条件判断通常是一个布尔值,即true表示真,false表示假,但是假设我们给定的是一个整数类型的值,编译器会帮助我们进行数据类型转换,将之转换成布尔值,如果整数的值为0,则条件的值为false, 其他非0的数都会转换成true。2.for(初始化语句;//条件为真则一直执行。i++:先返回变量的当前值,再将变量+1。++i:变量先+1再返回增加后的值。1.while(条件判断){} while(条件判断);
2025-04-15 14:55:12
109
原创 卡码网语言基础课 | 1. A+B问题I
(其中std是一个命名空间,::是作用域操作符。当使用C++标准库的功能时,需要使用。2.如何从键盘输入读取/输出数据:用到了C++的标准库iostream。4.可以在函数开头,统一申明使用命名空间 std,进行简化。来指明你要使用的内容位于哪个命名空间中。的前缀,表示正在使用C++标准库中的内容。1.了解了C++语言的主函数格式。3.while函数循环读取输入。
2025-04-15 12:30:30
133
空空如也
STM32点亮流水灯,按下按键后只有最后一个灯亮
2023-03-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人