随笔分类 - 人工智能
摘要:CoAt=Convolution + Attention 将conv与transformer以一种最优的方式结合: 在基础的计算块中,如果合并卷积与自注意力操作。 如何组织不同的计算模块来构建整个网络。 import torch import torch.nn as nn import math f
阅读全文
摘要:keras conv2D参数详细说明 keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), activation=None,
阅读全文
摘要:针对深度学习,基本会有一个数据增强环节,而该环节要不自己手写处理方法、要不调用已有的库,而对于已有库有很多。 本文仅仅使用torchvision中自带的transforms库,进行图像增强使用介绍,主要内容如下: ① 简单介绍下背景 ②调用重点函数介绍 ③使用简单代码实现数据增强,主要使用PIL读图
阅读全文
摘要:近日学习LSTM结构,已有很多博客对LSTM结构进行说明,但某些细节仍然存在模糊情况,为此本文将进行补充与说明,可分以下内容: 一.RNN原理简介与LSTM原理阐释。 一般来说,RNN的输入和输出都是一个序列,分别记为和 ,同时的取值不仅与有关还与序列中更早的输入有关(序列中的第t个元素我们叫做序列
阅读全文
摘要:本文主要贡献代码模块(文末),在本文中对resnet进行了改写,是一份原始版本模块,里面集成了权重文件pth的载入模块(如函数:init_weights(self, pretrained=None)),layers的冻结模块(如函数:_freeze_stages(self)),更是将其改写成可读性高的代码,若你需要执行该模块,可直接将其代码模块粘贴成.py文件即可。
阅读全文
摘要:我看了很多博客,也看了一些github大神的源码,很多基于一个版本改写而成。会将代码分成很多小.py文件,如建立YOLO3网络模块就会用一个.py文件, 如建立共用iou计算就会放在utils.py文件里,这让很多学习者,无从适应。我也为此困惑过,因此我将自己写的代码贡献在博客中,希望给你们有一些帮
阅读全文
摘要:线性soft-nms: 高斯nms:
阅读全文
摘要:"""nms输入的数据为box的左上角x1,y1与右下角x2,y2+confidence,rows=batch_size,line=[x1,y1,x2,y2,confidence];首先将batch_size按照已给的confidence从大到小排序,将最大confidence的box保存,而后与其它batch_size-1个boxes进行iou,得到新的batch_size-1个iou(conf...
阅读全文
摘要:import tensorflow as tfg1=tf.Graph()g2=tf.Graph()# x1=tf.constant([[1,2],[2,1]])# y1=tf.constant(2)# z1=tf.subtract(x1,y1)with g1.as_default(): with t
阅读全文
摘要:总结: 机器学习中有很多损失函数可以用,如欧氏距离,sigmoid函数,softmax函数等, 然而使用交叉熵的原因在于防止梯度消失以及测出实际效果较好的原因吧(个人理解)。 其详细理解,可以参考粘贴的内容: 本文参考:https://mp.weixin.qq.com/s?__biz=MzU4NTY
阅读全文
摘要:softmax实际就是将输入函数带到一个方程np.power(np.e,xi)/Σnp.power(np.e,xi)中得到,其代码如下:
阅读全文
摘要:a=np.array([[[[1],[2],[3]],[[4],[25],[6]]],[[[27],[8],[99]],[[10],[11],[12]]],[[[13],[14],[15]],[[16],[17],[18]]],[[[14],[24],[15]],[[6],[197],[18]]]])print(a)print(a.shape)b=tf.reduce_max(a, axis=-1)
阅读全文
摘要:y = tf.tile(tf.range(2, dtype=tf.int32)[:, tf.newaxis], [2,3]) # tf.tile(input,[a,b]) 输入数据,按照对应维度将矩阵重复a次和b次y1=tf.range(2, dtype=tf.int32)y2=tf.range(2, dtype=tf.int32)[:, tf.newaxis] # 将一维度矩阵增加一维度,列为1
阅读全文
摘要:NMS代码说明(来自Fast-RCNN) 个人觉得NMS包含很多框,其坐标为(x1,y1,x2,y2),每个框对应了一个score,我们将按照score得分降序,并将第一个最高的score的框(我们叫做标准框)作为标准框与其它框对比,即计算出其它框与标准框的IOU值,然后设定阈值,与保留框的最大数量
阅读全文
摘要:文章内容来自:https://blog.csdn.net/tsyccnh/article/details/79163834 关于交叉熵在loss函数中使用的理解交叉熵(cross entropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。以前做一些分类问题的时候,没有过多的注意,
阅读全文
摘要:import cv2 as cvimport tensorflow as tfimport numpy as npimport random##以下为数据预处理,分类为cata,总共样本为cata*num_batch,总共图像为cata*num_imgcata=2 #需要分的类别num_img=49
阅读全文
摘要:mnist练手,去掉隐藏层,去掉激活函数(线性变化),去掉池化操作(防止过拟合) 可以将结果简单显示界面
阅读全文
摘要:tensorflow 简单的列子:主要步骤为:①定义数据,可以用tf.placeholder:用于可以更改的变量,tf.Variable用于所求变量,必须初始化②定义关系,即变量之间的数学表达关系,深度学习往往用张量来表示③定义损失函数,用于表明预测值与真实值间的关系④定义优化器,用于某个步长等形式
阅读全文
摘要:import osos.environ['TF_CPP_MIN_LOG_LEVEL']='2'#这段代码可以屏蔽因为CPU的警告接下来,我对variable、placeholer与constant的用法做了一些验证,我将自己一些总结写于下面:一、区别。 variable 是一个类; placehol
阅读全文