![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础
Mariooooooooooo
这个作者很懒,什么都没留下…
展开
-
pycharm运行正常,但命令行执行提示module不存在的多种解决方式
在PyCharm设置了Sources Root,向系统变量增加了当前目录的根目录,所以PyCharm运行时能找到自定义包的。但Pyhton命令行执行时少了添加根目录路径的步骤,导致找不到包了。os.path.dirname获取目录,此处就是获取目录的父目录。如果目录层级更多,就需要多加一层 os.path.dirname。原创 2024-05-07 15:04:36 · 554 阅读 · 0 评论 -
点积,哈大马积,向量外积,矩阵乘法
例如,如果有两个矩阵 A = torch.tensor([[1, 2], [3, 4]]) 和 B = torch.tensor([[5, 6], [7, 8]]),它们的矩阵乘法为 torch.matmul(A, B),结果为 [[1。例如,如果有两个张量 A = torch.tensor([[1, 2], [3, 4]]) 和 B = torch.tensor([[5, 6], [7, 8]]),它们的哈达马积为 A * B = [[1。哈达马积是指两个具有相同形状的张量的对应位置元素相乘。原创 2024-04-03 15:16:48 · 442 阅读 · 0 评论 -
einops中的rearrange的使用方法
在 einops 中,rearrange 函数用于对张量进行重排操作,即重新排列张量的维度顺序或形状。‘b’、‘h’、‘w’ 等:表示具体的维度名称,也可以使用数字表示索引。这个操作会将张量的维度按照指定的顺序进行重新排列。pattern:用于指定重排规则的模式字符串。einops中的rearrange的使用方法。‘->’:表示重排后的维度顺序。tensor:要重排的张量。’:表示连续的任意维度。原创 2024-04-03 11:26:50 · 360 阅读 · 0 评论 -
python中的参数parse的使用方法
总体而言,使用 – 前缀的参数通常是可选参数,而没有前缀的参数通常是位置参数。可选参数可以在命令行中以任意顺序出现,而位置参数必须按照定义的顺序提供。示例:python script.py --base_directory /path/to/directory。使用了前缀 --,表示这是一个可选参数,可以在命令行中使用 --base_directory 指定参数值。没有前缀 --,表示这是一个位置参数,必须在命令行中按照顺序提供参数值。parse方法使用灵活,在次记录,从而备忘。原创 2024-01-20 14:23:32 · 1102 阅读 · 0 评论 -
拼接函数(numpy and torch)
都属于扩张再拼接:会构造新的维度,然后对数据进行拼接.原创 2024-01-11 10:20:14 · 367 阅读 · 0 评论 -
if-elif-else
具体来说,当 if 或 elif 中的条件成立时,将执行对应的代码块,然后整个 if-elif-else 结构终止,不再执行其他分支。在这个例子中,如果 a 的值是 15,那么只有第一个条件 a > 10 成立,因此将执行相应的代码块,而不会执行 elif 和 else 中的代码块。如果 a 的值是 10,那么第一个条件 a > 10 不成立,但是第二个条件 a == 10 成立,因此将执行第二个条件对应的代码块。总的来说,只有满足第一个成立的条件,相应的代码块才会执行,而后面的条件不会再被检查。原创 2023-12-11 17:12:56 · 464 阅读 · 0 评论 -
python中星号(*)的作用
在上面的例子中,*numbers 将列表 [1, 2, 3, 4, 5] 拆包成独立的参数,传递给 add_numbers 函数。args 表示接受任意数量的参数,并将它们收集到一个元组中。的作用取决于它的上下文,是拆包还是扩展参数。原创 2023-12-09 10:47:03 · 374 阅读 · 0 评论 -
将元组列表进行拆解
【代码】将元组列表进行拆解。原创 2023-12-07 22:17:46 · 392 阅读 · 0 评论 -
python中的map函数
在这个例子中,square 函数被应用于 numbers 列表中的每个元素,得到了平方的结果。注意,map() 返回的是一个迭代器,我们通过 list() 转换为列表以查看结果。需要注意的是,在 Python 3 中,map() 返回的是一个迭代器对象,而不是列表。map() 是一个内建函数,用于对一个可迭代对象的每个元素应用指定的函数,返回一个新的可迭代对象(通常是一个 map 对象或列表)。map() 将 function 应用于 iterable 中的每个元素,并返回一个包含结果的新可迭代对象。原创 2023-12-07 22:06:51 · 415 阅读 · 0 评论 -
.sh文件(shell脚本)
在这个例子中,sc2 将被赋给 ENV,而 cuda_0 将被赋给 CUDA。在Shell脚本中,echo 是一个用于在终端输出文本的命令。这样的脚本可以通过命令行传递参数,以便在不同的场景下执行不同的操作。其中,字符串 是你希望输出的文本内容。原创 2023-12-07 15:25:25 · 344 阅读 · 0 评论 -
Python 的 argparse模块
action='store_true’含义:你运行脚本时指定了 --verbose 这个参数,args.verbose 将被设置为 True,并且会打印 “Verbose mode activated!如果没有指定该参数,则 args.verbose 将保持为默认的 False。-o 或 --output 是一个可选参数,表示输出文件的路径,默认值为 ‘output.txt’。input_file 是一个必需的参数,表示输入文件的路径。–verbose 是一个标志参数,表示是否启用详细模式。原创 2023-12-07 15:09:26 · 366 阅读 · 0 评论 -
SimpleNamespace用法记录
简而言之:将字典的索引方式切换成类似于类中属性的索引方式,使得索引方式变得更加简单.。原创 2023-07-20 09:30:57 · 200 阅读 · 0 评论 -
python slice()
(1)x = slice(None)#,其实是slice(None, None, None)表示选择全部数据。(5)x = slice(0, 6, 2)每隔开2个数据切一次,并仅记录第一个元素。当start_index选择为None的时候,默认为数据的起始位置。(2)x = slice(0, None, 1)#选择所有的数据。(3)x = slice(None, 8, 1)#选择所有的数据。(4)x = slice(1, 8, None)#步长为1。当step为None的时候,默认step为1。原创 2023-07-06 21:04:09 · 506 阅读 · 0 评论 -
子类和父类有同样的方法时,子类会覆盖父类方法
原创 2023-07-06 17:23:31 · 44 阅读 · 0 评论 -
python中的三类除法
普通除法,结果保留小数。原创 2023-07-03 16:48:06 · 94 阅读 · 0 评论 -
以布尔值作为索引
以布尔值作为numpy的索引,简单来说,index中布尔值为True的,会被赋值,并进行修改.原创 2023-06-24 19:38:26 · 136 阅读 · 0 评论 -
pytorch中的numel函数
计算元素的个数。原创 2023-06-21 16:45:30 · 83 阅读 · 0 评论 -
python中的argparse模块(参数解析) --和没有--有什么区别
python中的argparse模块(参数解析) --和没有–有什么区别。原创 2023-06-20 20:58:44 · 117 阅读 · 0 评论 -
math.ceil(x) 方法将 x 向上舍入到最接近的整数。
math.ceil(x) 方法将 x 向上舍入到最接近的整数。原创 2023-06-18 10:22:46 · 46 阅读 · 0 评论 -
type({})#含义是:这是个字典类型
【代码】type({})#含义是:这是个字典类型。原创 2023-06-16 22:49:36 · 65 阅读 · 0 评论 -
python lambda函数
(1)lambda和if结合使用,lambda表达式既然和函数一样那么也可以用逻辑控制流,用if去做判断,返回我们想要的东西。(3)lambda表达式和filter函数结合使用:筛选出来符合条件的数据。map本身的作用就是对一个list套用一个方法。(2)lambda表达式和map函数结合使用。原创 2023-06-16 22:31:20 · 32 阅读 · 0 评论 -
在 Python 中,将方法名字前面加一个单下划线(_)
例如,如果有一个名为 _helper() 的私有方法,那么在类外部就只能通过_classname__helper()的方式来访问它,其中classname` 是定义这个方法的类的名称。需要注意的是,这种命名约定并没有实际限制 Python 中方法的调用权限,也就是说,它并不会像其他编程语言中那样强制限制方法的可见性。因此,开发者仍然可以在需要的时候通过调用 _method() 的方式来访问私有方法,但是这不是一个好的编码习惯,因为它可能会打破原本的封装性。原创 2023-06-16 13:31:20 · 816 阅读 · 0 评论 -
类和对象的区别
()来通过初始化父类属性以初始化自身继承了父类的那部分属性;这样一来,作为nn.Module的子类(LinearNet)就无需再初始化那一部分属性了,只需初始化新加的元素。简单理解就是子类把父类的__init__()放到自己的__init__()当中,这样子类就有了父类的__init__()的那些东西。而且是用nn.Module的初始化方法来初始化继承的属性。一言以蔽之:对象是由类创建的实体,具有类所定义的所有属性和方法,而类仅仅是一种定义了如何创建和组织对象的蓝图或模板。原创 2023-06-16 10:21:17 · 30 阅读 · 0 评论 -
类A分别赋值给类B和C的属性,B中的A发生变化,C中的A发生相应的变化
如果在 B 类中修改 A 的某些参数,由于 A 是同一个对象,所以这些修改也会被 C 类中的 A 所共享,即 C 中的 A 参数也会相应地改变。在Python中,类的属性是对象的引用。因此,如果将实例化的网络模型类 A 分别赋值给类 B 和 C 中的属性,那么它们都指向同一个网络模型。从输出结果可以看出,当在 B 类中修改 A 的第一个参数后,A、B.A、C.A 中的第一个参数都被改变了,这说明它们都指向同一个对象。原创 2023-06-14 22:31:53 · 76 阅读 · 0 评论 -
使用python的OS模块获取Linux系统的HOME目录
使用python的OS模块获取Linux系统的HOME目录。原创 2023-06-13 21:27:45 · 262 阅读 · 0 评论 -
给矩阵赋值,变量的值改变,不会改变矩阵的值
给矩阵赋值,变量的值改变,不会改变矩阵的值。原创 2023-06-13 19:51:09 · 97 阅读 · 0 评论 -
找bug实用工具
【代码】找bug实用工具。原创 2023-06-01 21:56:28 · 26 阅读 · 0 评论 -
python map() 函数
如何快速构造one-hot向量。原创 2023-05-31 20:34:10 · 29 阅读 · 0 评论 -
numpy中以多维的索引的查询数据
注释:以坐标形式进行取值,比如rows的第一个元素,则是1,cols的第一个元素取是0,则取的是a的第1行和第0列的元素。原创 2023-05-29 19:28:23 · 58 阅读 · 0 评论 -
python中对象(class)
已经有很好的博客来讲了,对python中对象(class)感兴趣的,可以看看这篇文章.原创 2023-04-04 14:48:40 · 30 阅读 · 0 评论 -
常用的颜色,对于的RGB值
常用的颜色,对于的RGB值原创 2023-03-25 09:52:46 · 36 阅读 · 0 评论 -
构造one-hot向量和索引
起初是想找到矩阵里每一行one-hot类型的1所在的位置id.原创 2023-03-16 19:41:46 · 103 阅读 · 0 评论