网站 目录访问,wordpress 文件存储,网站开发服务外包合同,拉新推广怎么做机器学习 学习知识点 什么是消融实验#xff08;Ablation experiment#xff09;#xff1f;num_step与batch_size的区别python glob.glob()函数认识python的条件判断之is not、is not None、is Nonetqdm介绍及常用方法softmax 激活函数。type_as(tesnor)Python OpenCV cv2.… 机器学习 学习知识点 什么是消融实验Ablation experimentnum_step与batch_size的区别python glob.glob()函数认识python的条件判断之is not、is not None、is Nonetqdm介绍及常用方法softmax 激活函数。type_as(tesnor)Python OpenCV cv2.imwrite()用法及代码示例详解 torch.max 函数 什么是消融实验Ablation experiment
消融实验类似于之前学习实验方法中的控制变量法
在一个实验中涉及到a,b,c三个部分不知道那个部分对实验起到效果如果想知道a部分对整个实验的作用去掉a部分从而知道a在实验中起到的效果。
num_step与batch_size的区别
举个例子我有1000个人每个人有12条记录分别代表一个人过去12个月每个月花的钱。我训练模型时发现一次性选1000个人训练内存会溢出所以我一次给内存里加载100个人那么我训练一轮模型就要加载10次数据。那么100就是batch size12就是num step1000乘12就是你所有的样本。
举个栗子在自然语言处理中,一句话是由很多个词假设一句话已经分词组成1.然后在训练的时候把所有的句子截取为相同的长度如果某一个句子长度大于长度L则截断如果句子长度小于L则填充0补充长度至L。2.如果训练的时候每次迭代的时候只有一句话那么梯度下降的时候可能较为随意但是如果整个数据集一起训练一是训练时间较长二是自然语言处理的时候数据量很大会导致内存溢出等所以一般是sample batch_size的句子做一次迭代。3.回到第一点则每次输入的数据大小应该是 [batchsize, sequence_length]的矩阵这里的sequencelength就是上文中提到的num_step。
python glob.glob()函数认识
glob()函数就像Linux中的find -name *.type一样可以将某目录下所有跟通配符模式相同的文件放到一个列表中有了这个函数我们再想生成所有文件的列表就不需要使用for循环遍历目录了直接使用glob.glob(pathpattern)的方式获取 这个例子中我们的目的是生成daisy中的所有图片的列表该列表中可能出现的图片格式如extensions中列出的那样执行结果如下所示
可以看到glob.glob(file_glob)的结果就是符合相应模式的文件列表需要注意的一点是该函数对大小写不敏感.jpg与.JPG是一样的,在extensions中即便是格式一样包含大小写在循环过程中函数并不区分这种情况所以在书写时一定要注意不要写错否则列表的长度会让你莫名其妙。
python的条件判断之is not、is not None、is None
is是不是某种对象 None在Python中是一个单例对象一个特殊的常量没有值、空值、值不存在 对于在判断条件中的对象值的判断除了False外None、0、数据为空[]、“”、{}、()都是False即bool(None)、bool(0)、bool([])、bool(“”)、bool({})、bool(())的值均为false
综上最佳实践如下
if val:print(if val)
if not val:print(if not val)
if val is not None:print(if val is not None)
if val is None:print(if val is None)1、val为None时
if not val
if val is None2、val为False时
if not val
if val is not None3、val为0时
if not val
if val is not None4、val为1时
if val
if val is not None5、val为[]空列表时
if not val
if val is not None6、val为[1,2]非空列表时
if val
if val is not None7、val为某具体对象时
if val
if val is not Nonetqdm介绍及常用方法
tqdm 是一个快速可扩展的Python进度条可以在 Python 长循环中添加一个进度提示信息用户只需要封装任意的迭代器 tqdm(iterator)。 对可迭代对象用tqdm处理下再去处理时控制台就会显示进度条了。在我理解来就是tqdm就是一个装饰器虽然网上查了没人这么说但是应该就是一个装饰器的原理这么理解是没问题的。 Tqdm 是一个快速可扩展的Python进度条可以在 Python 长循环中添加一个进度提示信息用户只需要封装任意的迭代器 tqdm(iterator)。 使用pip就可以安装。 tqdm(list)方法可以传入任意一种list,比如数组
from tqdm import tqdmfor i in tqdm(range(1000)): #do somethingpass 或者string的数组
for char in tqdm([a, b, c, d]):#do somethingpass效果 image████████████████████████████████████████████████████████████████▍ | 930/992 [27:2901:51, 1.79s/it]
softmax 激活函数。
在多分类任务中最后通常使用 softmax 函数作为网络输出层的激活函数softmax 函数可以对输出值作归一化把所有的输出值转换为概率所有的概率值加起来等于 1。在做分类的时候概率值高的那个类别即为预测类别。
type_as(tesnor)
使用type_as(tesnor)将张量转换为给定类型的张量。 如果张量已经是正确的类型则不会执行操作。具体操作方法如下
self torch.Tensor(3, 5) tesnor torch.IntTensor(2,3) print self.type_as(tesnor)
Python OpenCV cv2.imwrite()用法及代码示例
OpenCV-Python是旨在解决计算机视觉问题的Python绑定库。cv2.imwrite()方法用于将图像保存到任何存储设备。这将根据指定的格式将图像保存在当前工作目录中。 用法 cv2.imwrite(filename, image) 参数 filename:代表文件名的字符串。文件名必须包含图像格式例如.jpg.png等。 image:就是要保存的图像。 返回值如果成功保存图像则返回true。 示例
# Python program to explain cv2.imwrite() method # importing cv2
import cv2 # importing os module
import os # Image path
image_path rC:\Users\Rajnish\Desktop\GeeksforGeeks\geeks.png# Image directory
directory rC:\Users\Rajnish\Desktop\GeeksforGeeks# Using cv2.imread() method
# to read the image
img cv2.imread(image_path) # Change the current directory
# to specified directory
os.chdir(directory) # List files and directories
# in C:/Users/Rajnish/Desktop/GeeksforGeeks
print(Before saving image:)
print(os.listdir(directory)) # Filename
filename savedImage.jpg# Using cv2.imwrite() method
# Saving the image
cv2.imwrite(filename, img) # List files and directories
# in C:/Users / Rajnish / Desktop / GeeksforGeeks
print(After saving image:)
print(os.listdir(directory)) print(Successfully saved)输出
Before saving image:
[geeks.png]
After saving image:
[geeks.png, savedImage.jpg]
Successfully saved详解 torch.max 函数
torch.max() 返回输入张量所有元素的最大值。
参数: input (Tensor) – 输入张量
例子 a torch.randn(1, 3)a0.4729 -0.2266 -0.2085
[torch.FloatTensor of size 1x3] torch.max(a)
0.4729torch.max(input, dim, maxNone, max_indicesNone) - (Tensor, LongTensor)
返回输入张量给定维度上每行的最大值并同时返回每个最大值的位置索引。输出形状中将dim维设定为1其它与输入形状保持一致。
参数: input (Tensor) – 输入张量 dim (int) – 指定的维度 max (Tensor, optional) – 结果张量包含给定维度上的最大值 max_indices (LongTensor, optional) – 结果张量包含给定维度上每个最大值的位置索引
例子 a torch.randn(4, 4)a0.0692 0.3142 1.2513 -0.5428
0.9288 0.8552 -0.2073 0.6409
1.0695 -0.0101 -2.4507 -1.2230
0.7426 -0.7666 0.4862 -0.6628
torch.FloatTensor of size 4x4] torch.max(a, 1)
(1.25130.92881.06950.7426
[torch.FloatTensor of size 4x1]
,2000
[torch.LongTensor of size 4x1]
)torch.max(input, other, outNone) → Tensor
返回输入张量给定维度上每行的最大值并同时返回每个最大值的位置索引。
即( out_imax(input_i,other_i) \)输出形状中将dim维设定为1其它与输入形状保持一致。
参数: input (Tensor) – 输入张量 other (Tensor) – 输出张量 out (Tensor, optional) – 结果张量
例子 a torch.randn(4)a1.38690.3912
-0.8634
-0.5468
[torch.FloatTensor of size 4] b torch.randn(4)b1.0067
-0.80100.62580.3627
[torch.FloatTensor of size 4] torch.max(a, b)1.38690.39120.62580.3627
[torch.FloatTensor of size 4]