自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 Pólya 计数板子

一个手链上有 nnn 个珠子,有 nnn 种颜色,给每个珠子都染上颜色。有多少种不同的染色方法。由于方案数很多,请对 998244353998244353998244353 取模。一个非负整数 n(0≤n≤109)n(0≤n≤10^{9})n(0≤n≤109)一个整数,表示染色方案数对 998244353998244353998244353 取模的结果23ploya计数的裸题,详细题解见洛谷P4980代码:

2022-12-04 14:54:44 147 1

原创 SDNUOJ 1683.easy problem Ⅳ

定义斐波那契数列,F(1) = F(2) = 1,对于所有的N,满足F(N+2)=F(N+1)+F(N),求F(m)与F(n)的最大公约数多组测试样例多组输入,每组两个整数,n, m(1

2022-10-11 15:58:29 113

原创 SDNUOJ 1682.easy problem Ⅲ

请计算对于给出的N,M,a-b与a-b的最大公约数。题目保证a,b互质,且a>b多组输入,每组四个整数 a, b, N,M(1

2022-10-11 15:55:42 130

原创 SDNUOJ 1681.easy problem Ⅱ

请计算对于给出的N,M,2-1与2-1的最大公约数。多组测试用例两个整数N,M(1

2022-10-11 15:53:27 109

原创 SDNUOJ 1680.easy problem Ⅰ

请计算对于给出的N,M,2-1与2-1的最大公约数。多组测试样例两个整数N,M(1

2022-10-11 15:50:59 82

原创 SDNUOJ 1011.盒子与球

现有r个互不相同的盒子和n个互不相同的球,要将这n个球放入r个盒子中,且不允许有空盒子。则有多少种放法?

2022-09-29 22:18:33 84

原创 从代码细说FPN的二三事

# 先从 resnet 抽取四个不同阶段的特征图 C2-C5。_, C2, C3, C4, C5 =resnet_graph(input_image, config.BACKBONE,stage5=True, train_bn=config.TRAIN_BN)# Top-down Layers 构建自上而下的网络结构# 从 C5开始处理,先卷积来转换特征图尺寸P5 = KL.Conv2D(256, (1, 1), name='fpn_c5p5')(C5)# 上采样之后的P5和卷积之后的 C4像

2020-10-17 00:25:18 558

原创 CNN中的目标多尺度处理方法

视觉任务中处理目标多尺度主要分为两大类:图像金字塔:经典的基于简单矩形特征(Haar)+级联Adaboost与Hog特征+SVM的DPM目标识别框架,均使用图像金字塔的方式处理多尺度目标,早期的CNN目标识别框架同样采用该方式,在image pyramid中,我们直接对图像进行不同尺度的缩放,然后将这些图像直接输入到detector中去进行检测。虽然这样的方法十分简单,但其效果仍然是最佳。特别地,随着图像金字塔尺度归一化(SNIP)的出现,解决了小目标和大目标在小尺度和大尺度下难以识别的问题。特征金字

2020-10-03 01:02:41 2761

原创 神经网络注意力机制

概述当神经网络来处理大量的输入信息时,也可以借助人脑的注意力机制,只选择一些关键的信息输入进行处理,用来提高神经网络的效率。在目前的神经网络模型中,可以将max pooling和gating机制近似地看作是自下而上的基于显著性的注意力机制。此外,自上而下的聚焦式注意力也是一种有效的信息选择方法。例如:给定一篇很长的文章,然后就此文章的内容进行提问,提出的问题只和文章中某个段落中的一两个句子相关,其余都无关的。为了减小神经网络的计算代价,只需要把相关的片段挑选出来让后续的神经网络来处理,而不需要把所有文..

2020-09-19 00:47:14 7306

原创 高效读取数据的方法 (TFRecord)

参考了这篇博客的内容,做了些增加修改TFRecord 是Google官方推荐的一种数据格式,是Google专门为TensorFlow设计的一种数据格式。实际上,TFRecord是一种二进制文件,其能更好的利用内存,其内部包含了多个tf.train.Example, 而Example是protocol buffer(protobuf) 数据标准 [3] [4] 的实现,在一个Example消息体中包含了一系列的tf.train.feature属性,而 每一个feature 是一个key-value的键值对

2020-08-09 18:23:36 544

原创 关于python缩放图片的那些事

一、from PIL import Imageimport os.pathimport globdef convertjpg(inputpath, outpath, width, height): img = Image.open(inputpath) new_img = img.resize((width, height), Image.BILINEAR) new_img.save(outpath)inputpath = r''outpath = r''for

2020-07-25 00:20:58 202

原创 关于神经网络优化的那些事

在参考这篇博客的基础上,进行了一些改动和补充训练技巧:要做梯度归一化,即算出来的梯度除以minibatch size(批大小)clip c(梯度裁剪): 限制最大梯度,其实是value = sqrt(w12 + w22….),如果value超过了阈值,就算一个衰减系数或者让value的值等于阈值: 5,10,15dropout对小数据防止过拟合有很好的效果,值一般设为 0.5,小数据上 dropout+sgd 在我的大部分实验中,效果提升都非常明显(实测sgd比adam好).因此可能的话,建议一定

2020-07-18 00:25:13 212

原创 神经网络参数确定原则

网络参数确定原则:① 网络节点:网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数。隐层节点选按经验选取,一般设为输入层节点数的75%。如果输入层有7个节点,输出层1个节点,那么隐含层可暂设为5个节点,即构成一个7-5-1 BP神经网络模型。在系统训练时,实际还要对不同的隐层节点数4、5、6个分别进行比较,最后确定出最合理的网络结构。② 初始权值的确定:初始权值是不应完全相等的一组值。已经证明,即便确定 存在一组互不相等的使系统误差更小的权值,如果所设Wji的的

2020-07-11 03:24:17 3956

原创 dicom读取与处理

基本是看的这篇博客,稍微增删了一些东西单张影像的读取使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象。import osimport pydicom# 调用本地的 dicom file folder_path = r"D:\Data"file_name = "PA1_0001.dcm"file_path = os.path.join(folder_path,file_name)ds = pydicom.dc

2020-07-03 00:14:52 2467 1

原创 读取图片文件和dicom文件读取转化

import tensorflow as tfimport pathlibdata_path = pathlib.Path(r'D:\项目\数据\images_001')all_image_paths = list(data_path.glob('*/*')) #将目录下所有东西做成列表all_image_paths = [str(path) for path in all_image_paths]image_count = len(all_image_paths)print(image_c

2020-06-26 18:20:07 1596

转载 pytorch实现神经网络中间层的可视化

实现思路:处理单张图片作为网络输入。根据给定的layer层,获取该层的输出结果features。考虑到features的形状为:[batch_size, filter_nums, H, W] 提取其中的第一个过滤器得到的结果feature。以一张图片作为输入的情况下,我们得到的feature即为[H,W]大小的tensor。将tensor转为numpy,然后归一化到[0,1],最后乘255,使得范围为[0,255]得到灰度图像并保存。实现过程:模型我用了在ImageNet预先训练好的v

2020-06-20 01:36:06 2031

原创 pytorch基础操作

PyTorch的优点易于使用的API:它就像Python一样简单。Python的支持:如上所述,PyTorch可以顺利地与Python数据科学栈集成。它非常类似于numpy,甚至注意不到它们的差别。动态计算图:取代了具有特定功能的预定义图形,PyTorch为我们提供了一个框架,以便可以在运行时构建计算图,甚至在运行时更改它们。在不知道创建神经网络需要多少内存的情况下这非常有价值。张量(Tensors)构建一个随机初始化的矩阵x = torch.rand(5, 3)print(x)输出:t

2020-06-13 00:33:46 373

原创 DenseNet

基本参照这篇博客写的,改动了一些地方先列下DenseNet的几个优点,感受下它的强大:1、减轻了vanishing-gradient(梯度消失)2、加强了feature的传递3、更有效地利用了feature4、一定程度上较少了参数数量在深度学习网络中,随着网络深度的加深,梯度消失问题会愈加明显,目前很多论文都针对这个问题提出了解决方案,比如ResNet,Highway Networks,Stochastic depth,FractalNets等,尽管这些算法的网络结构有差别,但是核心都在于:cr

2020-06-06 00:30:40 264

原创 ZFNet

参考了不少这篇博客一、简介由于AlexNet的提出,大型卷积网络开始变得流行起来,但是人们对于网络究竟为什么能表现的这么好,以及怎么样能变得更好尚不清楚,因此为了针对上述两个问题,提出了一个新颖的可视化技术来一窥中间特征层的功能以及分类的操作。二、网络结构可视化技术揭露了激发模型中每层单独的特征图,也允许观察在训练阶段特征的演变过程且诊断出模型的潜在问题。 可视化技术用到了多层解卷积网络,即由特征激活返回到输入像素空间。 同时进行了分类器输出的敏感性分析,即通过阻止部分输入图像来揭示那部分对于分

2020-06-05 23:30:29 199

原创 小样本学习

背景深度学习背景下,每个类至少需要上千张训练样本才能使CNN在已知类别上性能饱和。此外,神经网络 泛化能力 薄弱,当 new class 来临时, 模型很难通过少量的标记样本就学会识别 new concepts (概念)。然而这一切对于人类来说却不成问题,我们人类是具有快速从少量(单)样本中快速学习能力的。即使对于一个五六岁的孩子来说,他从没有见过 “熊猫”,父亲给他看了一次熊猫的图片后,孩子到了动物园也会认识到那个黑眼圈,胖胖的动物叫“熊猫”啊。有的朋友可能会想,为什么我们人类总是能快速的学习到未知

2020-05-31 01:31:40 2536

原创 t-SNE原理及代码

SNE基本原理SNE是通过仿射变换将数据点映射到概率分布上,主要包括两个步骤: 1) SNE构建一个高维对象之间的概率分布,使得相似的对象有更高的概率被选择,而不相似的对象有较低的概率被选择。  2) SNE在低维空间里在构建这些点的概率分布,使得这两个概率分布之间尽可能的相似。 t-SNE模型是无监督的降维,只能单独的对数据做操作,它只有fit_transform,而没有fit操作。SNE原理推导SNE是先将欧几里得距离转换为条件概率来表达点与点之间的相似度。具体来说,给定一个N个高维的数据

2020-05-15 17:42:44 5405 1

原创 GoogleNet_V1实战

import tensorflow as tfimport tensorflow.keras as kerasimport matplotlib.pyplot as pltimport numpy as npfrom tensorflow.keras import datasets, layers, optimizers, models, regularizersimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'def normalize(x_

2020-05-10 20:45:35 466 1

原创 VGG实战

卷积层参数:卷积层 conv3conv3conv3 表示卷积核尺寸为 3×33\times33×3,conv3−64conv3-64conv3−64 表示卷积后通道数为 646464,所有卷积步长 stride=1stride=1stride=1,填充方式 padding=samepadding=samepadding=same(即输出大小和输入大小一致),这样卷积操作不会改变图像大小,仅改变通道数。池化层参数:池化层 maxpoolingmaxpoolingmaxpooling 的参数均为 2×2.

2020-05-10 00:42:33 610

原创 AlexNet实战

网络结构:

2020-05-09 21:27:12 408

原创 提取神经网络中间层特征进行可视化

这个博客讲的就挺不错但是torch要从官网找到对应的pip语句下再,不然可能会报错

2020-05-09 15:08:19 1545

原创 ResNet实战

import osimport tensorflow as tfimport numpy as npfrom tensorflow import kerasimport matplotlib.pyplot as pltos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'#零均值归一化def normalize(x_train, x_test): x_train = x_train/255. x_test = x_test/255. mean

2020-05-09 00:34:30 490

原创 LeNet-5实战

import tensorflow as tffrom tensorflow import kerasimport numpy as npimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'batch = 32 #要处理的样本数model = tf.keras.Sequen...

2020-05-02 01:06:31 417 1

原创 简单感知器

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'np.random.seed(0)num = 100#y = 0x_1 = np.random.normal(6, 1, size=(nu...

2020-05-01 22:28:58 150

原创 简单softmax回归

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'np.random.seed(0)num = 100x_1 = np.random.normal(-3, 1, size=(num))x_2...

2020-05-01 21:52:16 116

原创 简单逻辑回归

import numpy as npimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'np.random.seed(0)num = 100#y = 1x_1 = np.random.normal(6, 1, size=(num))x_2 = np.random.norma...

2020-04-24 19:53:02 293

原创 简单线性回归

import numpy as npimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'np.random.seed(0)x = np.random.normal(size=(100, 1), scale=1)y = 4 * x[:, 0] + 2all_data = np....

2020-04-23 22:11:06 121

原创 简单随机梯度下降算法

import numpy as npimport matplotlib as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'x = np.arange(50) #0~50np.random.seed(1) #每次生成的随机数相同randomarray = (np.random.random(50)*2-1) * 5y = 2...

2020-04-22 23:55:26 184

原创 简单反向传播训练实例

import tensorflow as tffrom tensorflow import kerasimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'w1 = tf.Variable(tf.rand...

2020-04-22 00:14:59 356

原创 matplotlib

Figure在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。import matplotlib.pyplot as pltfig = plt.figure()Axes在拥有Figure对象之后,在作画前我们还需要轴,没有轴的话就没有绘图基准,所以需要添加Axes。也可以理解成为真正可以作画的纸。fig = plt.figure()ax = fi...

2020-04-18 09:45:09 99

原创 numpy

NumPy - Ndarray 对象,Ndarray对象是numpy里面最重要的一个 N维数组对象。numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)参数描述object任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。dtype数...

2020-04-18 09:30:11 102

原创 神经网络基础代码

tf.kears实现线性回归import tensorflow as tfimport pandas as pdimport matplotlib.pyplot as pltimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'#防报些安装tensorflow的无用错误data = pd.read_csv(r'C:\Users\Lenov...

2020-04-14 22:11:51 592

原创 BP神经网络

BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。这里看到一个博客的例子,稍微改了一下拿过来了 (原博客https://blog.csdn.net/lyxleft/article/details/82840787):举一个4层的例子,如下图,有2...

2020-04-11 00:47:22 819

原创 1*1的卷积核作用

1x1的卷积核,由于大小只有1x1,所以并不需要考虑像素跟周边像素的关系,主要用于调节通道数,对不同的通道上的像素点进行线性组合,然后进行非线性化操作,在Resnet中常用于升维和降维。比如:选择2个1x1大小的卷积核,那么特征图的深度将会从3变成2,如果使用4个1x1的卷积核,特征图的深度将会由3变成4。...

2020-04-03 23:53:06 353

原创 卷积神经网络的组成

一个卷积神经网络主要由以下5种结构组成:  1.输入层。输入层是整个神经网络的输入,在处理图像的卷积神经网络中,它一般代表了一张图片的像素矩阵。三维矩阵就可以代表一张图片。三维矩阵的长和宽代表了图像的大小,而三维矩阵的深度代表了图像的色彩通道 (channel)。比如黑白图片的深度为1,而在RGB色彩模式下;图像的深度为3。从输入层开始,卷积神经网络通过不同的神经网络结构将上一层的三维矩阵转化为...

2020-04-03 23:16:25 9433

原创 DPN(Dual Path Network)算法

DPN到底有哪些优点呢?可以看以下两点:1、关于模型复杂度,作者的原文是这么说的:The DPN-92 costs about 15% fewer parameters than ResNeXt-101 (32 4d), while the DPN-98 costs about 26% fewer parameters than ResNeXt-101 (64 4d).2、关于计算复杂度,作者...

2020-04-02 20:07:12 1085

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除