Python学习
文章平均质量分 86
Python的各类模块,各种进阶用法总结
Qodicat
哈嘿!AI野生探险家,一起探索AI世界的无限可能
有任何问题欢迎给我留言
展开
-
【Python进阶】 类的系统知识总结 | 特殊变量方法 单双下划线、继承、多态、装饰器
类的定义使用class关键字定义类。类名通常采用首字母大写的驼峰命名法。类内有属性和方法(方法即函数)类可以拥有属性,这些属性是类的一部分,可以是数据。类可以定义方法,这些方法在类的对象上进行操作。方法通常通过self参数访问对象的属性。原创 2024-05-07 23:55:11 · 503 阅读 · 0 评论 -
【Python进阶】einops库的总:张量重排,重复,堆叠操作利器 | rearrange reduce repeat stack
深度学习中,往往需要大量的形状改变,我见到的最多的便是rearrange他其实是属于einops这个库的,这个库的更多使用方式整理如下。原创 2024-03-27 23:37:10 · 612 阅读 · 0 评论 -
【学海拾贝】| 关于Python的 PEP 484规则了解:类型提示,函数注解
在实际的工厂在实际的工程代码的开发中,常常可以碰到这种情况上网查了之后发现这是PEP484规则~原创 2024-03-26 23:52:41 · 380 阅读 · 0 评论 -
【Python进阶】工厂函数 | 高效处理管理对象的创建逻辑
工厂函数是一种设计模式,它用于创建对象而无需指定明确的类。在Python中,工厂函数通常是一个函数,它返回其他对象。工厂函数可以帮助简化对象的创建过程,并提供更灵活的方式来管理对象的创建逻辑。class Dog:# 使用工厂函数创建对象print(my_dog.name) # 输出 "Buddy"在这个例子中,create_dog函数是一个工厂函数,它接受一个参数name,并返回一个Dog类的实例。通过调用create_dog函数,我们可以创建一个Dog对象,而无需直接实例化Dog类。原创 2024-03-26 23:46:32 · 454 阅读 · 0 评论 -
【Python进阶】argparse库基础用法全总结:高效脚本参数解析 | 参数类型使用代码
argparse库是 Python 标准库中用于解析命令行参数和选项的模块。它使得编写命令行界面(CLI)变得更加容易。,在深度学习中用到的比较多~~我们运行Python文件往往是直接输入命令但是如果我们想给Python文件脚本运行时候传入参数,像是下面这种该怎么做呢?就是要用到argparse库~将argparse库的基础用法总结如下。原创 2024-03-25 22:47:57 · 909 阅读 · 0 评论 -
【python进阶】python中的*妙用全解析:高效收集分配参数 | 单个*,两个*,混用情况
这时候我们会发现,可以传入多个位置参数输出作用是将调用时提供的所有值,放在一个元组里。如果我们想给函数传入关键字参数,如果用2.1的方式就会报错所以我们可以通过**的方式输出。原创 2024-03-25 12:16:35 · 926 阅读 · 0 评论 -
【Python进阶】OmegaConf库:高效配置项管理 | 访问配置文件,修改合并配置文件
OmegaConf。原创 2024-03-24 23:36:18 · 470 阅读 · 0 评论 -
【Python进阶】关于argparse库的使用:便捷参数读取,解析,编写
在Python中,parser包通常指的是argparse模块,它是Python标准库中的一部分,用于解析命令行参数。argparse模块使得编写命令行接口变得更加简单和灵活。下面是argparse。原创 2024-03-17 21:36:55 · 694 阅读 · 0 评论 -
【Python进阶】assert 使用 | assert触发条件,使用实践示例
assert是 Python 中的一个关键字,用于在代码中进行断言检查。它的作用是在条件为False的情况下触发异常,用于帮助开发者在程序中捕获和处理错误。assert其中expression是要进行断言检查的条件,message是可选的错误消息,当断言失败时会显示该消息。如果expression的结果为False,则会引发异常。x = 10在这个例子中,由于x的值不等于5,所以断言会失败,触发异常,并显示消息。在开发过程中,assert可以帮助开发者快速发现程序中的问题,并进行调试和修复。原创 2024-03-12 21:56:56 · 291 阅读 · 0 评论 -
【学海拾贝】共享GPU和专用GPU是什么?
这个里面说到,训练时,可以使用共享GPU内存,能解决由num_works设置大于0引起的问题。但是这里的这个num_works是什么呢?他是我们在dataloader里面经常用到的。num_workers增加可以增加去读取数据的进程个数,但是也会增加cpu内存的消耗。共享GPU和专用GPU内存,我比较好奇这共享GPU可不可以用呢?打开任务管理器,在性能一栏,我们可以看到。共享GPU和专用GPU是什么。原创 2024-03-10 21:59:41 · 561 阅读 · 0 评论 -
【环境思考】| 关于pip安装的一些问题解决,从哪里下载,缓存,以及构建环境包的几种方式
Python包安装是Python开发过程中的重要环节,它允许开发者为项目添加额外的功能或库。而其中最重要的指令是pip我们会发现,当我们输入pip的时候,就会进行安装我会很好奇,pip这些是从哪里下载安装的,原理是什么?首先我们回答:pip本身是什么?原创 2024-03-06 23:18:03 · 416 阅读 · 0 评论 -
【pytorch进阶】| tensor张量的T和H 分别是什么?转置和共轭转置
在调试过程中,可以看到tensor张量有T和H的属性。原创 2024-01-25 11:51:36 · 971 阅读 · 0 评论 -
【pytorch进阶】| 各类张量形状变化函数总结对比分析,view,reshape,pernute,transpose,squeeze,unsqueeze
reshape和view,大概率情况下会共享底层内存,但是在不连续的张量情况下(不连续发生在切片或者转置的时候),这时候会建立新的副本,这时候必须用reshape。函数生成的张量并不会和原始张量共享内存,并不会修改原始张量,而是返回一个新的张量副本。要求 变化后元素总的个数和变化前相同,对应上面的例子,变化前后都得是12个元素~(3,4)(2,6)(1,12)该函数返回一个新的张量,其维度顺序是原始张量维度的重新排列。方法则需要一个目标张量,它会将原始张量的形状改变为与目标张量相同的形状。原创 2024-01-25 11:46:56 · 1721 阅读 · 0 评论 -
【易混区分】 tensor张量 Numpy张量的各种矩阵乘法、点积的函数对比 (dot, multiply,*,@matmul)
我们如果把b看做1行3列的矩阵,则运算不符合运算规则,但是如果看做3行1列的矩阵,则它是正确的,即2*3 × 3 * 1=2 * 1 即最后会输出一维的向量。matmul 是matrix multiply的缩写,专门用于矩阵乘法,需要满足矩阵乘法的运算规则,需要前一个矩阵的列和后一个矩阵的行相等。他们大体相同,有一些小的差异,比如numpy的dot可以实现高维度的矩阵乘法但是torch的dot不可以。,所以需要满足矩阵乘法的运算规则,需要前一个矩阵的列和后一个矩阵的行相等。,此时相当于两个数组的点积。原创 2024-01-24 16:41:13 · 1332 阅读 · 0 评论 -
Python re模块 | Python正则 函数介绍 flags修饰符全解析
以下的r’xxx’ r开头的单引号扩住的是正则表达式。原创 2024-01-21 22:06:52 · 1170 阅读 · 0 评论 -
Python | 超详细的可迭代对象(原理and代码)
Python可迭代对象,迭代器,迭代器判断等原创 2023-09-19 18:48:17 · 1307 阅读 · 0 评论 -
python进阶(二)导入import 机制 | 导入import 用法 工作原理全解析
虽然简简单单的导入import,其实涉及到很多的知识我们导入往往是一个包,或者包内的一个模块,或者一个模块内的某些函数变量等所以我们先对,包,模块,函数、变量做一个简单介绍他们的包含关系是包package(往往是一个目录/文件夹)》模块module(往往是一个文件)》变量,函数,类直观来说,一个包往往包含多个模块文件或者一些子包,每个模块文件包含多个变量和函数方法,类等下面分别是更详细的介绍。原创 2024-01-19 21:11:42 · 1567 阅读 · 0 评论 -
Python进阶(一)名字空间 | 超详细名字空间解析 内置 全局 局部 调试查看
在Python中,名字空间(Namespace)是一个用于存储变量名称和它们对应的对象值的容器。名字空间可以看作是一个映射,将变量名映射到相应的对象值。比如申明一个变量a=1,那么在名字空间字典中就会增加一个映射‘a’ : ‘1’包含Python解释器内置的函数和对象,例如print()和len()。这个名字空间在解释器启动时就被创建,是全局范围的,所以大家可以直观感受到print()非常方便,不需要任何的导入import。包含在我们的程序文件级别定义的变量和函数。原创 2024-01-19 21:07:49 · 1205 阅读 · 0 评论 -
从原理到代码实践 | pytorch损失函数
各种损失函数原理交叉熵损失函数从零开始实现原创 2023-09-16 10:48:15 · 211 阅读 · 0 评论 -
pytorch的自动微分、计算图 | 代码解析
计算图原理剖析 pytorch自动微分代码分析原创 2023-09-15 21:44:53 · 1416 阅读 · 0 评论 -
从原理到实践 | Pytorch tensor 张量花式操作
超详细pytorch的tensor张量操作,涉及到张量创建,元素查看更改,元素运算,广播机制,张量切片,拼接,转置等原创 2023-09-14 20:18:18 · 423 阅读 · 0 评论 -
pandas系统学习(二)数据处理
主要围绕pands读取不同类型的文件以及常见的异常值检测与处理原创 2023-02-16 20:41:31 · 237 阅读 · 0 评论 -
Pandas系统学习(一)基本数据结构
主要围绕pandas的基本介绍,以及pandas中使用最广的两种基本数据类型。哈哈哈哈哈封面与文不符系列,虽然我们介绍的是pandas,但可不是我们可爱的大熊猫呀原创 2023-02-14 22:45:14 · 406 阅读 · 0 评论 -
Numpy系统学习(五)数组元素运算
主要围绕Numpy数组元素的基本运算,如代数运算,位运算,数学运算,统计运算等原创 2023-02-14 03:00:00 · 965 阅读 · 0 评论 -
Numpy系统学习(四)数组元素操作
Numpy数组的切片索引,高级索引,整形索引,布尔索引等原创 2023-02-10 23:43:12 · 488 阅读 · 0 评论 -
Numpy系统学习(三)创建Ndarray数组对象
学习创建Numpy数组的各种各样的函数方法原创 2023-02-10 00:30:00 · 1883 阅读 · 0 评论 -
Numpy系统学习(二)Numpy的数据类型
主要学习Numpy数组的元素类型,包括内置的元素类型如int等以及自定义类型等原创 2023-02-09 16:59:43 · 264 阅读 · 0 评论 -
Numpy系统学习(一)Numpy数组介绍
主要围绕Numpy数组的一些属性,以及如何获取查看修改Numpy数组的部分属性。比较Numpy和list列表的差异原创 2023-02-09 16:56:54 · 464 阅读 · 0 评论