python中*的用法

python中*的用法

本文总结了Python中星号(*)的三种主要用法:1. 在函数参数中作为可变参数标志,用于接收可变数量的位置参数(*args)或关键字参数(**kwargs),适用于Python 2.x和3.x版本;2. 在赋值语句中作为可变变量标志,用于解包可迭代对象并灵活赋值,自Python 3.0起支持;3. 在元组、列表、集合和字典等特定语境中直接对可迭代对象进行解包操作,自Python 3.5起引入。使用时需注意不同用法对应的Python版本兼容性,避免错误。文章通过代码示例详细说明了每种用法的具体应用场景和输出结果。

Python 
Pytorch中tensor的维度合并

Pytorch中tensor的维度合并

本文介绍了在PyTorch中使用`view`函数合并tensor维度时保持数据顺序的方法。`view`通过将张量展平后按指定形状重组,但仅当合并连续维度时才能维持原始数据的分类意义(如batch维度)。若需合并非连续维度(例如将`(3,2,4,64)`变为`(3,128,4)`),直接使用`view`会导致数据错乱。此时应先用`permute`调整维度顺序(如变为`(3,2,64,4)`),再使用`view`合并,即可在重组后保持数据顺序与分类逻辑不变。