栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

代码中遇到的各种知识点集合

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

代码中遇到的各种知识点集合

每天都加一点点
ps:ctrl+F查找
A
argparse.ArgumentParser()
argparse是一个Python模块:解析命令行参数

import argparse

# (1) 声明一个parser,创建 ArgumentParser() 对象
parser = argparse.ArgumentParser()

# (2) 添加参数,调用 add_argument() 方法添加参数
parser.add_argument("parg")  # 位置参数,这里表示第一个出现的参数赋值给parg
parser.add_argument("--digit",type=int,help="输入数字") # 通过 --echo xxx声明的参数,为int类型
parser.add_argument("--name",help="名字",default="cjf") # 同上,default 表示默认值

# (3) 读取命令行参数,使用 parse_args() 解析添加的参数
args = parser.parse_args()
 
# (4) 调用这些参数
print(args.parg)
print("echo ={0}".format(args.digit))
print("name = {}".format(args.name))

add_subparsers()
添加子命令(当程序复杂,不同功能需要不同参数时)

	subparsers = parser.add_subparsers(dest='processor')
    for k, p in processors.items():
        subparsers.add_parser(k, parents=[p.get_parser()])
import argparse
 
parser = argparse.ArgumentParser(prog='PROG')
 
subparsers = parser.add_subparsers(help='sub-command help')
#添加子命令 add
parser_a = subparsers.add_parser('add', help='add help')
parser_a.add_argument('-x', type=int, help='x value')
parser_a.add_argument('-y', type=int, help='y value')
#添加子命令 sub
parser_s = subparsers.add_parser('sub', help='sub help')
parser_s.add_argument('-x', type=int, help='x value')
parser_s.add_argument('-y', type=int, help='y value')
 
args = parser.parse_args()
 
print('x', args.x, 'y', y

sys.argv[]
可以看作是一个列表,里边的项为用户输入的参数个数。所以才能用[]提取其中的元素。一个元素是程序本身,随后才依次是外部给予的参数。(我理解的相当于切片)

a = sys.argv[2:]
#保存后,在命令行中输入python test.py naruto sasuke sakura kakashi
#输出为一个列表——[‘sasuke’, ‘sakura’, ‘kakashi’]

B
C
contiguous()
将tensor的内存变为连续的。
有些tensor并不是占用一整块内存,而是由不同的数据块组成,而tensor的view()操作依赖于内存是整块的,这时只需要执行contiguous()这个函数,把tensor变成在内存中连续分布的形式。
注:在pytorch的最新版本0.4版本中,增加了torch.reshape(), 这与 numpy.reshape 的功能类似。它大致相当于 tensor.contiguous().view()。

DEFG
H
histc(scores, bins=self.args.bins)
进行直方图的统计,args.bins=16表示有16个区间

hist = torch.histc(scores, bins=self.args.bins)

I
items()
以列表返回可遍历的(键, 值) 元组数组

dict = {'1':'15岁',
        '2':'14岁',
        '3':'1岁',
        }
print(dict.items())
for key,values in dict.items():
    print(key + '已经' + values + '了')

===================================================
dict_items([('1', '15岁'), ('2', '14岁'), ('3', '1岁')])
1已经15岁了
2已经14岁了
3已经1岁了

JKLMNO
P
permute()
permute将tensor中任意维度利用索引调换。b=a.permute(2,0,1),permute里的参数对应的是张量a的维度索引,利用索引来对内部数据调换。
a.permute(2,0,1):把a的最后一个维度放到最前面(2对应的最后一个,位置发生了改变)。

Q
R
rpartition()
在最后一次出现参数字符串时分割字符串,并返回一个元组,其中包含部分前分隔符,参数字符串和后分隔符。

1:
string = "Python is fun"

print(string.rpartition('is '))

print(string.rpartition('not '))

string = "Python is fun, isn't it"

print(string.rpartition('is'))

输出:

('Python ', 'is ', 'fun')

('', '', 'Python is fun')

('Python is fun, ', 'is', "n't it")
==============================================================
2:
mod_str, _sep, class_str = import_str.rpartition('.')

S
set()
设置新的空对象的集合

self.global_labels = set()#新的空集合对象

同时也可去重

#通过set集合去重,global_labels记录去重之后的标签值(特征维度)
self.global_labels = self.global_labels.union(set(data["labels_1"]))
self.global_labels = self.global_labels.union(set(data["labels_2"]))

TU

V

view(-1, 1)
表示多少行不确定,但是有1列,对out进行reshape,reshape成1列,行数由列数决定(-1那里原本的数不变)
如果你不知道你想要多少行,但确定列数,那么你可以将行数设置为-1(你可以将它扩展到具有更多维度的张量。只有一个轴值可以是-1)。这是告诉系统Library:给我一个具有这么多列的张量,并计算实现这一点所需的适当行数

#view(-1, 1)表示多少行不确定,但是有1列
sigmoid_scores = torch.sigmoid(torch.mm(embedding,transformed_global.view(-1, 1)))

WXYZ

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号