- 博客(63)
- 收藏
- 关注
原创 python 字符串 unicode和utf-8的区别,一文看懂!
在不同长度(1、2、3、4)字节的 UTF-8 编码中,每个 unit 的开头通常会有 0 或 1 的标识位。这是因为计算机在处理时,并不能预先知道某个字节是单一 unit 的 UTF-8 编码,还是多字节(双字节、三字节或四字节)的一部分。简短地说:最开始,一个byte(8个bit,可以表示128个不同的符号)就可以表示英文系统里的常见符号,于是就有了ASCII码。它的意思是,处理时以8个bit作为一个单元(unit),同理,UTF-16、32就分别以16、32个bit作为一个单元。
2025-03-15 00:52:24
207
原创 python str repr方法区别
方法的返回值会被预先定义为“含有相关有效信息”的字符串,比如。方法的返回值会被预先为用户友好型字符串,同样是打印,第二种打印方式就明确地表达了。但如果把上述代码中的。
2025-03-12 23:53:28
160
原创 pytorch detach,clone的区别
detach生成原始张量的view而不保留计算图;clone生成的张量附带计算图,计算该张量的梯度时,梯度会回传到原始张量。但clone张量不是原张量的view。另外,可以对clone张量的值进行局部修改,但局部修改以后,梯度更新时,该处的梯度不会回传。
2025-03-08 14:39:51
476
原创 pytorch retain_grad vs requires_grad
requires_grad大家都挺熟悉的,因此穿插在retain_grad的例子里进行捎带讲解就行。属性并不会在反向传播的过程中被自动保存下来(这是为了节省内存,毕竟我们只需要计算那些手动设置。的张量的梯度,并进行梯度更新,对吧?警告的大致意思是:访问了非叶子节点的。的梯度也在反向传播以后被正确保存了!因此,我们只需要添加一行代码。可以看到,现在非叶子节点。属性,但非叶子节点的。
2025-03-08 11:48:39
381
原创 linux软链接使用相对路径的问题
总结:在被链接的文件处,使用绝对路径,就没这么多事;如果使用相对路径,就要确保这个相对路径是相对于软链接文件所在目录的位置而言的,不然就会直接生成无效的软链接。这里的第一个路径如果是绝对路径,就没有任何问题。如果是相对路径,就要确保这个相对路径是相对于。中,查看当前目录结构,有。读者可以自行查看,此时。就是一个无效的软链接。这是因为执行命令时,
2025-02-06 00:58:08
220
原创 We couldn‘t connect to ‘https://huggingface.co‘ huggingface不能连接
可以在代码中设置环境变量。之后就可以正常访问了。
2025-01-24 14:53:50
189
原创 在pc上使用jupyter跑服务器上的代码
将该进程始终在后台进行,这样以后不用打开服务器,直接在本地就能访问服务器的jupyter了。就可以来到jupyter页面了。现在输入你之前设置好的密码,就可以访问你的服务器了。下一步,在服务器上来到你想要作为jupyter根目录的文件夹,使用命令。命令,创建你的jupyter密码。这一步很简单,就不截图了。在红框处看到的端口号8888就是你之后要使用的端口号了。最后,来到本地,在浏览器URL输入。现在ctrl+c退出,使用命令。首先,在服务器上使用。
2024-05-21 13:43:02
371
原创 如何在python中管理windows路径?使用斜杠还是反斜杠?遇到转义字符怎么办?
方法3:使用原始字符串加反斜杠。方法2:使用2个反斜杠。方法1:直接使用斜杠。
2024-05-16 09:30:05
440
原创 使用sed命令将txt文本中的所有序号加上10000
之后才弄清楚为什么错。g是global的缩写,表全局,即对每一行的所有符合“被替换内容”的文本生效。但由于我们只需要替换开头,其实是不需要g参数的。错误的原因在于,以为为了全局生效,必须使用g参数。其实s前如果不加任何数字,已经表示对所有行生效了。\1指代左边小括号括起来的内容,可以达到引用的目的。最后e的作用是:将替换部分当成shell指令执行。这里的-E是使用扩展的正则表达式的意思。本人最近处理数据,需要将txt文件中的。一开始,使用了如下命令。
2024-05-05 18:27:08
345
1
原创 bash执行sh文件和source(或.)执行sh文件,得到变量的作用域
bash执行文件时会在当前shell下开启一个子shell,于是在当前shell下是不能通过。得到的变量是可以在当前shell访问到的。来访问生成的变量的。
2024-05-03 22:42:41
223
原创 conda换源和pip换源
conda的换源网上教程很多了,我在这里就不提了,随便找个赞数高的教程参考即可。但是,conda换源成功后,只能运用于conda install命令,而pip install命令不会自动选取之前换的源。最近在anaconda虚拟环境里时,pip下载实在过慢,忍不住怀疑换源到底成功了没,最后发现conda和pip的换源不是一个东西。后成功换源的,之后的pip下载速度也是从若干kb成功变成了10多兆。本人的pip源是通过以下命令。
2024-05-03 13:33:14
624
2
原创 jupyter notebook切换conda虚拟环境
此外,进入ipy文件以后,点击kernel,再点击change kernel,如图中箭头所示,依然可以切换虚拟环境。其中,前一个d2l指虚拟环境名,后一个d2l指jupyter notebook中的虚拟环境名,二者可以不同。可以发现,在new中出现了d2l环境,接下来只需要手动选择一下,就可以切换环境了。最后,进入jupyter notebook。然后,如代码所示安装ipykernel包。
2024-05-02 16:34:39
471
1
原创 李宏毅2022机器学习/深度学习 个人笔记(3)
接下来李宏毅教授介绍了梯度下降的优化方案,如采用动量、RMSProp、Learning Rate Decay、Warm Up等。接下来介绍遇到鞍点时的优化办法。接下来探讨,当optimization不佳的时候,如何判断是遇到了鞍点还是遇到了局部最小值点?而红框是一个二次型,若二次型矩阵是正定或者负定的,则可直接判断出该点是局部最小还是局部最大。本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点。当然,这个方法不多用,只是介绍,顺便复习有关知识即可。关于多元函数泰勒公式,可参考。
2024-04-22 12:31:07
325
原创 多元函数泰勒公式(含黑塞矩阵)
即二元与一元函数的泰勒公式的微分形式是一样的。这里中间的矩阵就是黑塞矩阵。三元函数类似,读者可手推一下。中,应把dx看作一个整体,即一个微小变量的n次方。这里蓝色等号处需假设二阶偏导数连续。这就是含黑塞矩阵的泰勒公式。
2024-04-22 10:24:27
733
原创 李宏毅2022机器学习/深度学习 个人笔记(2)
假设它们之间独立,则协方差矩阵为对角矩阵,使用了Naive Bayes Classifier。可以发现,最终所求量为sigmoid(wx+b)的形式,且wx+b的形式正好说明了边界为直线。我们不一定采用高斯几率模型,也开始采用其他模型,这不是死板的。本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点。如图,boundary变为直线,结果也有上升。接下来,算一下z到底是什么。
2024-04-21 01:15:41
280
原创 李宏毅2022机器学习/深度学习 个人笔记(1)
当维度变为七维时,协方差矩阵很大,参数很多,可能出现过拟合。如图,我们在ID<400的宝可梦中选出水系和普通系用于训练。首先估计图中所示的2个参数,使用下图右下角红框方法计算即可。先只考虑二维特征的情况,假设此时水系宝可梦的分布是二维正态分布,我们需要找到使该分布最可能符合上图状况的。有了这2个参数,我们就可以观察出任意输入被sample出的相对几率大小。有了公共协方差矩阵以后,边界也会变成直线(图放不下了),转个人笔记(2)只需找到对应参数,使似然函数。二维空间的表现不太好,也许七维空间会更好?
2024-04-21 01:15:19
363
原创 python绝对导入与相对导入(包内导入)(在创建自己的包、模块或系统工程时会用到的知识)
我们先上案例,再分析原因。若在pycharm新建工程,再创立几个文件,文件结构如下图也就是说,我们在工程下有文件test.py和文件夹p,在p下分别有run.py和tool.py两个文件一开始,py文件中都为空,现在一步一步来先在test文件中写入,然后运行test文件,发现程序正常运行;我们再在run文件中写入,运行run,发现依然正常。我们再回到test系统无法找到tool模块,这是为什么?因为我们平时运行import时,是没有指明路径的,此时系统会从sys.path。
2024-04-20 12:19:59
404
原创 pycharm永久改变sys.path
进入pycharm,选择file->settings->interpreter。再单击左上角减号右侧第三个,长得像思维导图的图标。在这里选择图中所示show all。之后添加你的路径,确认即可。
2024-04-18 19:37:40
1432
原创 08 pytorch 加载数据集(B站up 刘二大人)
注:笔者的糖尿病数据集有问题,使用了sklearn中的乳腺癌数据集,因此部分参数与老师有差异。此外,原乳腺癌数据集第一行含有字符串,此处的。这一章我们要利用data和dataloader来mini-batch(之前是batch)里的迭代数,也就是batch/batch-size。已将第一行去掉,为另一个新建文件。设置为0比设置为2更快。
2024-04-18 16:29:33
234
原创 pytorch 处理多维特征的输入(b站up 刘二大人)
考虑到我的糖尿病数据集有一些问题,标签不是0和1而是许多小数,这里直接采用代码中目录所示的乳腺癌数据集进行实验。以后有空也许会更新讲解,急用代码的小伙伴可以先拿去跑。由于乳腺癌数据集有30个特征,这里设计。
2024-04-18 11:59:28
244
原创 python中__getitem__方法
很正常,因为我们还没有实现该魔术方法。该方法可以使实例化的对象变得可遍历。对象变得可遍历了,且遍历值为。
2024-04-17 23:46:42
277
原创 python的抽象类和抽象方法
抽象类是一种不能直接被继承的类。举个例子,我们可以从类。执行无输出,程序结束。我们成功定义了一个含有抽象方法。,其中前者两条腿走路,后者四条腿走路,而单独的类。却没有一个几条腿走路的方法,因为这是不确定的。,实际上也可以装饰其他东西,读者可自己完成。中的所有抽象方法,我们才能顺利将。库,这里我们装饰了实例方法。(关于装饰器,可查看。
2024-04-17 23:30:33
463
原创 python中什么是元类?
那么,python中万物皆对象,类是否也是一个被创建出的对象呢?是实例对象的属性,代表其所属的类。由第一行,可以看出类也是由另一个类创建出来的,这个类叫做。是由什么创建出来的,由执行结果,依然是。即,我们打印出了这3个实例对应的类。由第二行,我们想要查看元类。,即元类就是创建一切类的类。
2024-04-17 23:12:21
261
原创 python打开文件后,为什么要关闭?
函数以后,要写入的字符先存入缓冲区,登缓冲区满或执行某些操作以后才会把缓冲区的数据写入文件。但若不关闭文件,仅仅调用了。函数,就可能导致数据存放在缓冲区,而未被成功写入文件。以写入数据为例,调用。
2024-04-16 20:21:46
270
原创 python property用法
python中的property类可以让我们以处理变量的方式来调用函数我们先感性地认识一下它。可以发现,我们从外部不能访问私有变量。关于变量的命名,可以参考结果为19这里用到了装饰器,关于装饰器,可以参考可以发现,age()虽然是一个方法,但我们却通过类似变量的方式对它进行了访问,得到了它的返回值。这就是property最基本的使用。
2024-04-16 13:13:58
191
原创 python装饰器系列教程(6)(结束篇)
函数定义的后面才行),也就是说,这个语法糖等效于一个语句,而这个语句只能接收一个参数,而这个参数还正好是要被修饰的函数名。那么,就没有办法传递其他参数了吗?重新定义一个装饰器当然可以,但我们这里直接讨论带有参数的装饰器应该怎么做。中,让新函数根据接收的参数返回一个对应于想要添加符号的旧函数。本篇为装饰器系列的最后一篇:含有参数的装饰器。至此,装饰器系列讲解完成。我们可以将原先的装饰器定义在一个新函数。,这一句我们之前讨论过,等效于。但是,如果我想将分隔符换为。(当然,如果用这句语句来替换。
2024-04-16 10:59:43
176
原创 python装饰器系列教程(5)
类似于之前对含有参数的函数进行装饰的思路一样,我们调用被装饰器装饰的函数时,实际上调用的是。现在,我们的装饰器就比较通用了,既可以对任意长参数的函数进行装饰,也可以返回其对应的返回值。,最后也成功打印了返回值结果。本篇主题:如何对含有返回值的函数进行装饰。装饰完毕以后,可以发现,我们可以正常调用。函数,因此,必须要让。
2024-04-16 10:40:12
238
原创 python装饰器系列教程(4)
本篇在上一篇的基础上,探究适用范围更广的装饰器,即,如何使用同一个装饰器来装饰含有参数个数不相等的函数。这里我们使用了不定长参数的传递法,不论参数个数为几个,都可以正常传递参数。
2024-04-16 10:28:31
278
原创 python装饰器系列教程(3)
可见,带有参数时,原先的写法并不正确。错误原因已在此处进行了说明↑↑↑。本篇讲解如何对有参数的函数进行装饰。的形参,由此实现了参数的传递。我们将外界输入的实参传递给。上一篇装饰器教程可查看。
2024-04-16 10:20:17
155
原创 python装饰器系列教程(2)
系列2讲解装饰器的叠加。我们的问题是,如果有2个装饰器同时进行装饰,那么装饰的顺序是什么样的?可见,离被装饰函数近的装饰器会先被用来装饰。
2024-04-16 09:59:45
150
原创 python装饰器系列教程(1)
在此基础上,python提供了一种被称为语法糖的写法,以一种更简单的写法,实际实现相同的功能。总之,这段代码通过一个闭包操作,给原来的2个函数额外增加了新功能。现需在每条提示信息之前加上一条关于客户来自中国的信息,可改写为。但这会造成代码冗余,有没有更好的方法?这里需要用到一点函数变量的知识,可参考。现在大家已经初步掌握装饰器的用法了。若为了与用户交互,有如下代码。语句等效于实现了之前的。
2024-04-16 09:50:10
204
原创 python导入模块以后
且执行import语句以后,会执行原mine.py文件,原文件变量的作用域仅限于该模块的命名空间中,无法在主文件内直接访问。之后,会为mine.py文件分配内存地址,并生成一个模块对象mine,指向该内存地址。python导入模块,如导入自定义模块mine,即。
2024-04-15 18:19:47
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人