部分库与使用方法总结(自用)
Posted 是一个小迷糊吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部分库与使用方法总结(自用)相关的知识,希望对你有一定的参考价值。
1.tqdm
tqdm是Python的进度条库,可以在长循环操作中显示进度提示
tqdm.tqdm:传入数字
from tqdm import tqdm
for i in tqdm(range(1, 5)):
print(i)
使用bar_format = "l_barbar"可以只显示进度条
from tqdm import tqdm
for i in tqdm(range(1, 5), bar_format="l_barbar"):
pass
传入字符串:
from tqdm import tqdm
for i in tqdm(["a", "b", "c"]):
print(i)
tqdm.trange:用来省略的表达tqdm(range())
from tqdm import trange
for i in trange(range(1, 5)):
print(i)
set_description:实现实时查看每次处理的数据
from tqdm import tqdm
pbar = tqdm(["a", "b", "c", "d"])
for c in pbar:
pbar.set_description("Processing %s" % c)
上述文字转述自
2.torch.backends.cudnn
cuDNN(CUDA Deep Neural NetWork library):是NVIDIA打造的针对神经网络的加速库,是一个用于深度神经网络的GPU加速库,它不是必须使用的库,但是一般会采用这个库。
torch.backends.cudnn.benchmark = True
上述代码会让程序在开始运行时花费一点额外时间为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。
该代码的使用仅适用于网络结构固定(非动态变化),网络的输入形状(batch_size、图片的大小,输入的通道)是不变的,否则可能会降低运行效率。
torch.backends.cudnn.deterministic = True
上述代码的使用是为了避免因为计算的随机性造成的每次网络前馈结果略有差异引起的结果波动。
上述文字转述自:
torch.backends.cudnn.enabled = True
上述代码的使用在设置使用非确定性算法
3.argparse.ArgumentParser()的使用
argument模块用来进行命令行接口的编写,程序定义需要的参数,然后argument解决从sys.argv解析出参数的方式,同时argument还会自动生成帮助和使用手册,并在用户给程序差内无效参数时报出错误信息。
import argparse
paper = argparse.ArgumentParser()
上述代码用来创建解析器
paper.add_srgument(name or flags...[,action][,nargs][,const][,default][.type][,choices][,required][,help][,metavar][,dest])
下面是对上述程序的逐个参数解释:
name or flags : 字符串的名字或者列表
action : 当参数在命令行中出现时使用的动作
nargs : 应该读取的命令行个数
const : 不指定参数时的默认值
type : 命令行参数应该被转换成的类型
choices : 参数可允许的值的另一个容器
required : 可选参数是否可省略
help : 参数的帮助信息
metavar : 在usage说明中的参数名称,对于必选参数默认是参数名称,对于可选参数默认是全大写的参数名称
dest : 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线
default : 表示默认路径
paper.parse_args()
上述程序用来解析参数
exp_path = paras.exppath
上述编程用来调用参数
以上是关于部分库与使用方法总结(自用)的主要内容,如果未能解决你的问题,请参考以下文章