自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (5)
  • 收藏
  • 关注

转载 python读取nii文件可视化

import matplotlibmatplotlib.use('TkAgg')import nibabel as nibfrom nibabel.viewers import OrthoSlicer3Dexample_filename = '/home1/ADNI/MP-RAGE/AD_CN/036_S_0672-223.nii'img = nib.load(example_filename)print(img)print(img.header['db_name']) # 输出头信息wi

2021-03-29 09:57:58 2505

原创 HashMap put函数执行流程

HashMapput函数执行思路public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }//如果key为null,则hash为0,否则key的hashCode值高位与低16位异或,使hash更加分散。static final int hash(Object key) { int h; return (key == null) ? 0

2020-09-19 22:10:30 699

原创 循环遍历删除元素的问题-ConcurrentModificationException

在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出bug。下面就是可能出现的一种删除方式。 ArrayList<Integer> list = new ArrayList<>(); list.add(3); list.add(4); System.out.println(list); Iterator<Integer> iterator = list.iterat

2020-08-13 15:24:04 210

原创 Attention Convolutional Binary Neural Tree for Fine-Grained Visual Categorization

背景介绍Fine-grained visual categorization (FGVC):目标:目的是区分目标的子类别,如不同种类的鸟和不同种类的花。挑战:由形变、遮挡、光照引起的高类内差异和低类间差异。Attention Convolutional Binary Neural Tree:CNN在图像分类取得了好的效果,但很难描述子类之间的区别,本文设计了一种树结构的注意力神经网络,能够由粗到细层次特征学习,不同的分支注意不同的局部位置,实验表明这种树结构神经网络的良好性能。本文贡献提出

2020-08-04 17:48:54 1533 9

原创 痛苦的配置maven idea过程

1、按照教程下载maven错了好多次,下载了不止这么多版本,最后使用3.5.2了2、配置了localRepository3、配置了镜像mirror镜像到处找,最后用的这个<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/p

2020-07-19 09:50:42 97

原创 See Better Before Looking Closer WSDAN

问题:细粒度分类 (FGVC) 是为了解决“类内分类”问题,有别于猫狗分类,它要解决的是 [这只狗是萨摩还是哈士奇] 这种问题。方法:通过端到端训练,使注意力关注的区域更加细节化和多样化(关注不同的部位);然后在粗粒度预测之后,将注意力提取的区域输入网络,进行细粒度预测,预测结果为平均值。训练过程A 弱监督注意力学习原始图片通过主干网络提取特征,产生的特征图F为H x W x N,表示高、宽、通道数。然后通过卷积操作获得注意力图 A为H x W x M,形式化表示:然后提出了一种特征图和注意

2020-07-16 08:42:16 538

原创 Pytorch中什么时候调用forward()函数

Module类是nn模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型。下面继承Module类构造本节开头提到的多层感知机。这里定义的MLP类重载了Module类的__init__函数和forward函数。它们分别用于创建模型参数和定义前向计算。前向计算也即正向传播。import torchfrom torch import nnclass MLP(nn.Module): # 声明带有模型参数的层,这里声明了两个全连接层 def __init

2020-05-29 09:56:33 10267 1

原创 训练误差和泛化误差、K折交叉验证

我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数和softmax回归用到的交叉熵损失函数。让我们以高考为例来直观地解释训练误差和泛化误差这两个概念。训练误差可以认为是做往年高考试题(训练题)时的错误率,泛化误差则可以通过真正参加

2020-05-29 08:42:59 3115

原创 Pytorch 学习笔记之梯度

x = torch.ones(2, 2, requires_grad=True)print(x)print(x.grad_fn)tensor([[1., 1.],[1., 1.]], requires_grad=True)Noney = x + 2print(y)print(y.grad_fn)tensor([[3., 3.], [3., 3.]], grad_fn=)<AddBackward object at 0x1100477b8>注意x是直接创建的,所以它没有 g

2020-05-28 16:48:34 184

原创 LRU缓存机制 JAVA

运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥已经存在,则变更其数据值;如果密钥不存在,则插入该组「密钥/数据值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。你是否可以在 O(1) 时间复杂度

2020-05-25 15:19:48 166

原创 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-in...

2020-05-22 12:57:28 218

原创 有向图的拓扑排序-课程表问题

现在你总共有 n 门课需要选,记为0到n-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例1:输入: 2, [[1,0]]输出: [0,1]解释:总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,正确的课程顺序为 [...

2020-05-17 16:39:03 333

原创 和为K的子数组

给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2相出两种方法,一种使用前缀和,然后计算两个前缀和的差是否为K;另一种就是直接暴力求解,其实两个都是暴力求解,就是理解起来不一样。public int subarraySum(int[] nums, int k) { //数组的记录前缀和 int[] preSum = new int[nums.length ...

2020-05-15 15:02:38 153

原创 并查集,朋友圈问题

问题来源:班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。输入:[[1,1,0],[1,1,0],[0,0,1]]输出: 2说明:已知学生0和学生1互为朋友

2020-05-14 12:54:13 230

原创 设计模式-单例模式

单例模式优点:由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。单例模式可以在系统设置全局的访问点,优化环共享资源访问,例如可以设计一个单例类,负责所有数据表的映射处理。常见的五种单例模式实现方式:饿汉式(线程安全,调用效率高,不能延时加载)//饿汉式单例模式public class SingletonDemo1 { private .

2020-05-12 17:02:02 98

转载 类加载流程,类加载机制及自定义类加载器详解

类加载流程,类加载机制及自定义类加载器详解一、引言当程序使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、链接、初始化三个步骤对该类进行类加载。二、类的加载、链接、初始化1、加载类加载指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象。类的加载过程是由类加载器来完成,类加载器由JVM提供。我们开发人员也可以通过继承ClassLoader来实现自己的类加载器。1.1、加载的class来源从本地文件系统内加载class文件 从JAR包加

2020-05-12 10:26:00 179

原创 Java 类加载初始化过程

类的静态变量和静态初始化块是按照从上到下的顺序执行的。public class Demo { static { System.out.println("静态初始化类Demo"); } public static void main(String[] args) { System.out.println("开始执行main方法"); A a = new A(); System.out.println(A.w); .

2020-05-11 11:46:50 135

原创 Learning to Navigate for Fine-grained Classification 论文学习

Learning to Navigate for Fine-grained Classification 论文地址介绍问题描述:细粒度分类任务是用来区分上一级公共类的子类,例如野生鸟类、汽车型号。这些子类通常是由各个领域专家根据特定的规则定义的,这些规则通常关注特定区域的细微差别。主要挑战:由于类间变化较小,找到具有判别能力的特征相对普通分类任务更加困难。现有问题强监督学习:利用细粒度...

2020-04-28 11:09:37 528

原创 Adaptive Neural Trees学习笔记

AbstractNNs:在特定的网络结构下进行表示学习,DTs:以数据驱动的方式在预先定义的特征上学习层次结构。本文提出了两者的融合结构ANTs,将表示学习融入决策树的边、路由函数、叶节点。实验证明了在分类和回归数据集上的优异性能。ANTs主要受益于1、条件计算的轻量级推理和2、对任务有用的层次特征分离,3、设计了一种对不同数据集相适应的结构。IntroductionNNs的特点是通过非线性...

2020-04-27 18:36:34 963

原创 文件的读写 java

字节流字节输出流[OutputStream]其中的一个基本实现类FileOutputStream构造方法public FileOutputStream(File file) :创建文件输出流以写入由指定的 File对象表示的文件。public FileOutputStream(String name) : 创建文件输出流以指定的名称写入文件。当你创建一个流对象时,必须传入一个文件路径。...

2020-04-14 18:12:12 131

原创 M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid

论文链接:M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid主要贡献:提出多级特征金字塔网络MLFPN。基于提出的MLFPN,结合SSD,提出一种新的Single-shot目标检测模型M2Det。整体框架M2Det使用主干网络和MLFPN来提取特征,然后采用类似SSD的方式预测框和类别得分,...

2020-04-11 18:40:26 268

原创 Thread使用start和run方法的区别

相信Thread对我们来说并不陌生,学java的时候都是入门的东西,我们一般使用thread都是new一个线程,然后调用start方法启动,使用start方法才真正实现了多线程运行,因为这个时候不用等待我们的run方法执行完成就可以继续执行下面的代码,这才叫多线程嘛!因为thread线程有5种状态,创建-就绪-运行-阻塞-死亡这五种,那么我们的start方法呢就是就绪这一步,因为这个时候我们的线程...

2020-04-02 21:03:32 319

原创 三个线程循环打印

三个线程循环通信,A唤醒B,B唤醒C,C唤醒A一个状态值表明哪个线程应该打印。private static printABC p = new printABC(); public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(3)...

2020-04-02 11:13:45 341

原创 线程的状态

线程的状态转换任务在线程中执行,线程可以是以下五种状态之一:新建、就绪、运行、阻塞、结束。 阻塞startrunrun完成yield或超时joinsleepwait结束目标超时发信号等待目标结束等待超时等待通知创建的线程新建就绪运行结束新建一个线程时,它就进入新建状态(New)。调用线程的start()方法启动线程后,它就进入就绪状态(Ready)。就绪状态是可运行的,但可能还没有开始运行...

2020-04-01 11:40:49 130

原创 二分图的相关定义

二分图什么是二分图二分图的一个等价定义:不含有(含奇数条边的环)的图。图1是一个二分图。为了清晰,我们都把它画成图2的形式。无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。匹配在图论中一个匹配是一个边的集合,其中任意两条边都没有公共顶点。例如,图3中红色的边。(匹配有很多种)。我们定义匹配点、匹配边、未匹配点、未匹配边,它们的含义非常显然。例如图3中...

2020-03-30 14:14:14 345

原创 Learning a Discriminative Feature Network for Semantic Segmentation

论文地址:Learning a Discriminative Feature Network for Semantic SegmentationAbstract现有的大多数语义分割方法仍然面临着两个方面的挑战:类内不一致和类间模糊(intra-class inconsistency and inter-class indistinction) 。为了解决这两个问题,我们提出了一个判别特征网络(...

2020-03-21 12:49:33 508

原创 Scanner中的next和nextLine

思路我相信对很多读者朋友来说,编写二分查找的算法代码属于玄学编程,虽然看起来很简单,就是会出错,要么会漏个等号,要么少加个 1。不要气馁,因为二分查找其实并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward,the detail...

2020-03-20 15:43:44 321

原创 Comparable和Comparator

Comparable<T>public interface Comparable<T>此接口对实现该接口的每个类的对象强加了总体排序。该排序称为类的自然排序,而该类的compareTo方法被称为其自然比较方法。可以通过Collections.sort(和 Arrays.sort)自动对实现此接口的对象的列表(和数组)进行排序。当且仅当 e1.compareTo(...

2020-03-18 08:47:16 108

原创 目标检测基本网络理解

目标检测基本网络RCNNSS:Selective Search 一种提取候选区域的方法。一张图片通过SS产生1000到2000个候选区域,然后将每个候选区域(Region Proposal)缩放到同一尺寸,输入到CNN网络,然后使用提取的图像特征训练SVM和Bounding Box。训练过程预训练CNN:正样本:Region Proposals 与 GT IOU大于0.5 2...

2020-03-13 10:29:27 537

原创 深度学习分类网络

AlexNetImageNet Classification with Deep Convolutional Neural Networks1、引入了Relu(x) = max(0,x)激活函数,并验证其效果在较深的网络超过了Sigmoid。2、用最大池化代替了平均池化。3、在全连接层加入了dropout,避免过拟合。4、引入了局部响应归一化(LRN),对局部神经元的活...

2020-03-11 12:13:09 1031

原创 二叉树的非递归遍历

//先序遍历public List<Integer> preorder(TreeNode root) { Stack<TreeNode> s = new Stack<>(); LinkedList<Integer> list = new LinkedList<>(); if (root=...

2020-02-21 16:56:56 71

原创 pandas读取csv文件失败

frame = pd.read_csv('F:\Data\TAGMPRAGE.csv')当windows使用绝对路径读取csv文件时,会报以下错误:OSError: Initializing from file failed这时候将代码文件和csv文件放在一个路径下,使用相对路径,错误就没了frame = pd.read_csv('TAGMPRAGE.csv')...

2020-01-03 15:28:52 1116

原创 计算机视觉注意力机制

SENet论文连接:https://arxiv.org/abs/1709.01507 通道域学习通道注意力,该网络通过全局平均池化将特征图转换为1x1xc,然后通过压缩通道数,再重构通道数学习网络参数,最后通过sigmoid函数生成0~1之间的权重,与之前特征图进行元素相乘。下图为用在两个模型中的示例。CBAM论文连接:https://arxiv.org/abs/1807....

2019-10-18 15:38:21 435

原创 提升方法AdaBoost学习笔记

基本思路强可学习:在概率近似正确的学习框架中,一个概念,如果存在一个多项式学习的算法能够学习它,并且正确率很高,那么这个概念就是强可学习的。弱可学习:一个概念,如果存在一个多项式的学习算法能够学习它,学习的正确率仅比随机猜测好,那么就称这个概念是弱可学习的。Schapire后来证明强可学习和弱可学习是等价的,也就是做,在概率近似正确的学习框架中,一个概念是强可学习的充分必要条件是这个概念是...

2019-10-18 14:34:52 166

原创 Python图片爬虫

使用python爬取我胡的图片,找了一个简单的网站:http://www.win4000.com/mt/huge_1.htmlimport requestsfrom bs4 import BeautifulSoupimport reimport os#获得该页HTMLdef getHTMLTest(url): try: print(url) ...

2019-10-14 16:44:27 234

原创 GAN公式推导

真实数据的分布 生成器生成的分布 噪音Z的分布 生成器,使噪音的分布收敛到真实数据的分布 生成器的输出 判别器,区分真实数据和生成数据 x是真实数据而不是生成数据的概率定义鉴别模型If , D(x) = 1, is the maximum当鉴别模型输出D(x)为1时,即可以轻松判别数据,此时上式取值最大。If is the maximum...

2019-07-03 15:06:35 455

原创 计算机论文网址

https://dblp.uni-trier.de/https://arxiv.org/https://www.sciencedirect.com/https://www.researchgate.net/directory/publicationshttps://cn.bing.com/https://ieeexplore.ieee.org/Xplore/home.jsp...

2019-04-01 18:55:16 506

转载 padding填充same 和valid两种方式

卷积操作会使图像变小,为了图像卷积后大小不变,需要填充0,我一直以为只要padding=‘same’,卷积后大小就不变,现在发现应该不对劲。W 表示图片大小,F表示卷积核大小,S表示stride当stride=[1,1,1,1]时,padding = ‘same’卷积操作后图片大小不变,需要填充0,;padding=‘valid’情况下,图片大小变为new_height = new_width...

2019-03-08 15:24:50 10148

原创 python读取CIFAR数据集

CIFAR10/100数据集链接地址:http://www.cs.toronto.edu/~kriz/cifar.html读取数据集函数import numpy as npimport os#网站给出的读取CIFAR10的函数def unpickle(file): import pickle with open(file, 'rb') as fo: ...

2019-03-08 09:42:10 1306 2

转载 目标检测框架

目标检测的框架图 来自论文:Deep Learning for Generic Object Detection: A Survey

2019-03-05 10:37:17 502

java的中文Google版文档,大家一起学习

中文版java API文档,帮助学习java的朋友们更好地阅读api文档,之前在网上找到的,希望大家共同进步。

2020-03-20

Tensorflow实战Google深度学习框架

了解TensorFlow,深度学习的好书籍,可以系统地学习TensorFlow和一些深度学习的框架

2019-03-02

KnapsackProblems

背包问题的经典全书,英文高清版,可以全访问理解背包问题的含义

2018-12-29

how tomcat work

how tomcat work 中文版pdf 还有源码可以看啊(中文名为 深度剖析tomcat)

2018-12-28

卸载office软件

用于卸载电脑先前安装好的office软件,卸载干净,便于安装新的office

2018-05-04

空空如也

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

TA关注的人

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