图片读取方式cv2.imread() 和 PIL.Image.open() 如果你需要处理大量图像并进行计算机视觉任务(如目标检测、图像分类等),推荐使用 cv2.imread(),因为它的性能更高,且能够更好地处理不同格式的图像。如果你需要进行图像加载和简单的图像处理(如格式转换、显示等),可以使用 PIL.Image.open(),因为它的 API 更加简洁。
模块的深拷贝(deep copy)get_clones函数 get_clones 是一个实用函数,目的是创建一个模块的深拷贝(deep copy)。深拷贝意味着复制模块及其所有内部参数、状态等,使得每个副本相互独立,互不影响。你可以对每个副本进行不同的操作,而不会修改其他副本的权重和状态。
@lru_cache()实现 最近最少使用(LRU)缓存 lru_cache() 是 Python 中 functools 模块提供的一个装饰器,用于实现 最近最少使用(LRU)缓存。它会缓存函数的返回值,以提高重复调用相同输入时的性能,避免重复计算。
image2.contiguous()将张量变成内存中连续存储的格式 image2.contiguous() 是 PyTorch 中的一个方法,通常用于将张量变成内存中连续存储的格式。背景在 PyTorch 中,张量可以通过不同的方式在内存中存储。通常,张量的存储是以行优先(row-major)或列优先(column-major)的顺序排列。但某些操作(例如切片或转置)可能会创建一个 非连续(non-contiguous)张量,尽管它看起来和原始张量形状一致。连续张量:在内存中,张量的元素是按其索引顺序存储的,且没有跳跃。
python list 切片 list[1::2] 将返回从列表中每隔一个元素选取的元素,起始位置是第二个元素。1 是起始索引,表示从列表的第二个元素(索引为1的元素)开始。list[::2] 将返回从列表中每隔一个元素选取的所有元素。: 后面的部分为空,表示切片将一直进行到列表的末尾。2 是步长,表示每次选择一个元素后跳过下一个元素。
软注意力机制和硬注意力机制 软注意力机制就是虽然词语权重不同,但是在训练模型的时候雨露均沾,每个词语都用到,焦点词语的权重大。软性注意力(Soft Attention)机制是指在选择信息的时候,不是从N个信息中只选择1个,而是计算N个输入信息的加权平均,再输入到神经网络中计算。硬注意力机制是从存储的多个信息中只挑出一条信息来,可能是概率最大的那个词向量...
python random.seed() random.seed()方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。import randomrandom.seed ( [x] )调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x) 设定好种子之后,其中的 x 可以是任意数字,如10,这个时候,先调用它的情况下,使用 random() 生成的随机数将会是同一个。参数:x – 改变随机数生成器的种子 seed。如果你不了解其原理,你不必特别去设
GRU(Gate Recurrent Unit) GRU(Gate Recurrent Unit)是循环神经网络(Recurrent Neural Network, RNN)的一种。和LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和反向传播中的梯度等问题而提出来的。GRU和LSTM在很多情况下实际表现上相差无几,那么为什么我们要使用新人GRU(2014年提出)而不是相对经受了更多考验的LSTM(1997提出)呢。我们在我们的实验中选择GRU是因为它的实验效果与LSTM相似,但是更易于计算。相比LSTM,使用GRU能
特征缩放,归一化 使用特征缩放的作用是:使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使模型更准确。加快学习算法的收敛速度。缩放过程可以分为以下几种:缩放到均值为0,方差为1(Standardization——StandardScaler())缩放到0和1之间(Standardization——MinMaxScaler())缩放到-1和1之间(Standardization——MaxAbsScaler())缩放到0和1之间,保留原始数据的分布(Normalization——Normalizer
saver.save和saver.restore saver()与restore()只是保存了session中的相关变量对应的值,并不涉及模型的结构。Saver的作用是将我们训练好的模型的参数保存下来,以便下一次继续用于训练或测试;Restore则是将训练好的参数提取出来。Saver类训练完后,是以checkpoints文件形式保存。提取的时候也是从checkpoints文件中恢复变量。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。一般地,Saver会自动的管理Checkpoints文件。我们可以指定保存最近的N个
Deep Interest Network代码讲解 代码链接:https://github.com/zhougr1993/DeepInterestNetwork论文数据下载:http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Electronics_5.json.gzhttp://snap.stanford.edu/data/amazon/productGraph/categoryFiles/meta_Electronics.json.gz在代码DeepInte
sys.stdout.flush() 的作用 缓冲区的刷新方式:flush()刷新缓存区缓冲区满时,自动刷新文件关闭或者是程序结束自动刷新。当我们打印一些字符时,并不是调用print函数后就立即打印的。一般会先将字符送到缓冲区,然后再打印。这就存在一个问题,如果你想等时间间隔的打印一些字符,但由于缓冲区没满,不会打印。就需要采取一些手段。如每次打印后强行刷新缓冲区。参考:https://blog.csdn.net/zh54b5n64vn64654/article/details/89079164...
模型评估指标AUC 模型评估指标AUC 、AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。AUC在机器学习领域中是一种模型评估指标。根据维基百科的定义,AUC(area under the curve)是ROC曲线下的面积。所以,在理解AUC之前,要先了解ROC是什么。而ROC的计算又需要借助混淆