- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 服务器上tensorboard的使用
环境:ubuntu服务器、pytorch、python2.7步骤:pip install tensorboardX训练代码中嵌入tensorboard代码from tensorboardX import SummaryWriterwriter = SummaryWriter('log')writer.add_scalar('Train/Loss', train_loss/dat...
2021-10-13 20:54:40
2707
原创 算法——动态规划
动态规划什么是动态规划给定一个问题,我们把它拆成一个个子问题,直到子问题可以直接解决。然后呢,把子问题答案保存起来,以减少重复计算。再根据子问题答案反推,得出原问题解的一种方法。动态规划的核心思想动态规划最核心的思想,就在于拆分子问题,记住过往,减少重复计算。eg:A :“1+1+1+1+1+1+1+1 =?”A :“上面等式的值是多少”B :计算 “8”A : 在上面等式的左边写上 “1+” 呢?A : “此时等式的值为多少”B : 很快得出答案 “9”A : “你怎么这么快就
2021-08-26 21:49:15
258
原创 Ubuntu服务器搭建Pytorch环境
安装CUDA查看服务器处理器和系统版本lsb_release -a下载CUDA10.1(无需登录,一定要下update2,其他版本无法自定义目录)https://developer.nvidia.com/cuda-10.1-download-archive-update2打开网页后选择对应自己服务器的处理器和系统版本,格式选runfile(local),这里以Ubuntu 18.04为例wget https://developer.download.nvidia.com/compute/cu
2021-08-05 14:35:13
495
原创 1、C++语言介绍
C++的语言特点:1. 支持数据封装和数据隐藏在C++中,类是数据封装和隐藏的工具,对象是数据封装的实现。用户可将数据和对数据的合法操作封装起来作为一个类,类具有私有成员,保护成员和公有成员。类的用户在调用类时不需要知道它是如何实现的,只需要知道调用接口使用即可。2. 支持继承和重用在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私
2020-11-03 17:12:03
844
原创 深度学习之优化算法
文章目录1 梯度下降1.1 批量梯度下降法(BGD: Batch Gradient Descent)1.2 随机梯度下降法(SGD: Stochastic Gradient Descent)1.3 小批量梯度下降法(MBGD:Mini-Batch Gradient Descent)2 Momentum3 Adagrad:Adaptive gradient algorithm4 RMSProp5 Adam: Adaptive Moment Estimation1 梯度下降数学解释:在微积分里面,对多元函数
2020-09-24 17:09:53
503
原创 C++实现带头节点的单链表
# include <iostream>#include <cstdlib>using namespace std;//定义一个节点类typedef struct Node{ /* data */ int data; //数据域 Node *next; //指针域};//构建一个单链表类class SLinkList{private: Node *head;public: SLinkList(/* args *
2020-09-16 17:41:00
998
原创 Meta learning
一、IntroductionMeta learning = Learn to learn二、Meta Learning1、比较与Life-long的区别:Life-long:所有任务使用一个模型Meta:每个任务可能有不同的模型与Machine Learning的区别:2、算法步骤# Step 1:定义一个learning algorithm的集合;# 初始化参数不一样,表示不一样的学习算法# Step 2:评价一个learning algorithm的好坏;# N个Ta
2020-09-15 16:46:22
229
原创 对EfficientDet中加权融合方法的代码解读
谷歌大脑的《EfficientDet: Scalable and Efficient Object Detection》代码目前已经公布,代码链接:https://github.com/google/automl/tree/master/efficientdet接下来将对BiFPN中加权融合部分进行解析。对应代码入下: # Combine all nodes. dtype = n...
2020-03-26 10:43:10
989
原创 pytorch设置可学习参数
使用背景:模型有3个输出,需要对这三个输出加权求和,于是设置可学习的参数作为权重,代码如下:self.w1 = torch.nn.Parameter(torch.FloatTensor(1), requires_grad=True)self.w2 = torch.nn.Parameter(torch.FloatTensor(1), requires_grad=True)self.w3 = t...
2020-03-18 08:56:17
4740
5
原创 PyTorch获取vgg16 features每层输出
实际应用时可能比较想获取VGG中间层的输出,那么就可以如下操作:import numpy as npimport torchfrom torchvision import modelsfrom torch.autograd import Variableimport torchvision.transforms as transforms class CNNShow(): d...
2020-03-13 22:46:23
3118
原创 Pytorch上下采样函数--interpolate
pytorch中使用interpolate可以很轻松的完成上采样和下采样。官方文档torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode=‘nearest’, align_corners=None)函数的参数如下:input (Tensor) – the input tensorsize (...
2020-03-06 14:48:42
2313
原创 RuntimeError: unable to write to file
参考链接:https://github.com/huaweicloud/dls-example/issues/26
2020-02-24 09:10:33
2255
原创 服务器创建python2.7虚拟环境
原本服务器上的环境是anaconda3、python3.7,由于实验环境需要python2.7版本,所以需要在服务器上创建python2.7的虚拟环境。创建一个虚拟的环境名为python27,并安装2.7版本的python~$ conda create -n python27 python = 2.7安装完成即可激活虚拟环境~$ source activate python27...
2020-02-14 18:50:46
1288
原创 Python--pdb调试程序
使用PDB的方式有两种:1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式pdb命令行:1)进入命令行Debug模式,python -m pdb xxx.py2)h:(help)帮助3)w:(where)打印当前执行堆栈4)d:(down)执行跳转到在当前堆栈的深一层(个人没觉得有什么用处)5)u:(up)执行跳转到当前堆栈的上...
2020-02-14 07:52:52
383
原创 win10下安装Anaconda+PyTorch
文章目录安装Anaconda安装PyTorch安装Anaconda下载:https://repo.continuum.io/archive/下载相应版本的Anaconda,这里使用的是版本。安装:双击安装包,基本上都是“下一步”,注意选择安装路径和加入环境变量即可。创建环境:右击Anaconda Prompt,选择以管理员身份运行conda创建环境命令为:conda create -...
2019-12-17 20:12:39
228
原创 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解
文章目录卷积神经网络输入层卷积层激励层池化层全连接层卷积神经网络举一个卷积神经网络识别汽车的例子如下:其中数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,POOL表示池化层,Fc表示全连接层。输入层在图片输入到神经网络之前,一般在输入层进行图像处理,有以下三种常见的图像处理的方式:均值化:把输入数据各个维度都中心化到0,所有样本求和求平均,然后用所有的样本减...
2019-12-15 11:20:15
6535
原创 CrowdCounting将标注信息加到图片上可视化
人群计数数据集UCF-QNRF中给的标注信息为.mat的二进制文件,里面存储了标注点的所有位置,现在要做的是将这些信息加入原始图片中,有标注的地方打上标记点进行可视化,使用opencv具体操作如下:原始图片:import numpy as np import cv2import scipy.io as scio...
2019-12-06 03:21:19
1028
2
原创 PyTorch搭建两层网络
举一个很简单的例子来熟悉使用pytorch构建和训练神经网络的整个过程。import torchimport torch.nn as nnN, D_in, H, D_out = 64, 1000, 100, 10#随机创建一些训练数据x = torch.randn(N, D_in)y = torch.randn(N, D_out)#定义modelclass...
2019-12-04 12:01:19
644
原创 【PyTorch】数据的读取和操作(Dataset, DataLoader)
文章目录前言DatasetDataLoader前言Pytorch 中比较重要的是对数据的处理,其中,进行数据读取的一般有三个类:DatasetDataLoaderDataLoaderIter其中,这三是一个依次封装的关系:“Dataset被封装进DataLoader,DataLoader再被封装进DataLoaderIter”Datasetclass torch.utils.d...
2019-12-02 11:04:00
2226
2
原创 PyTorch搭建VGG网络
基于PyTorch的一些预训练模型下载地址:https://github.com/pytorch/vision/tree/master/torchvision/models
2019-12-01 10:45:22
2436
原创 【screen】命令:断开ssh命令之后使程序继续在服务器运行
远程登录到 Linux 服务器,经常需要很长时间才能完成任务,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉。可以用 screen 命令解决这个问题。screen 命令可以实现当前窗口与任务分离,即使离线了,服务器仍在后台运行任务。当重新登录服务器,可以读取窗口线程,重新连接任务窗口。只要 screen 本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用,即使网...
2019-11-21 11:44:58
547
原创 import cv2找不到模块的解决方法
环境:Ubuntu 16.04.6服务器 Anaconda3 + python3.7找不到该模块是因为没有安装对应的包,需要安装python-opencv包即可,执行如下命令:pip install opencv-python
2019-11-19 15:30:47
16314
5
原创 【cs231n】lecture 9 CNN Architectures
文章目录AlexNetZFNetVGGNet这个专题主要介绍的是几种典型的CNN架构。AlexNet输入:227*227*3的图像矩阵。第一层(CONV1):96个步长为4,大小为11*11的卷积核,经过第一层后的输出大小为55*55*96,参数个数为11*11*3*96。第二层(POOL1):3*3的卷积核,步长为2,输出大小为27*27*96,池化层没有参数。ZFNet和Al...
2019-11-09 11:55:56
1034
原创 【cs231n】lecture 8 Deep Learning Software
文章目录CPU vs GPUCPU vs GPUGPU(Graphics Processing Unit图形处理单元),最初用于渲染计算机图形。相同点:GPU和CPU都是一种通用的计算机器,可以执行程序和指令。不同点:GPU单个核的运行速度比CPU慢,执行的操作也没有CPU多,GPU的单个核无法独立完成工作,他们需要共同协作,多个GPU的核共同执行同一项任务。CPU有cache,但是...
2019-11-05 18:35:40
162
原创 pytorch学习笔记(三)Pytorch 神经网络
参考package的使用方法:https://pytorch-cn.readthedocs.io/zh/latest/神经网络可以通过 torch.nn 包来构建。一个典型的神经网络训练过程包括以下:定义一个包含可训练参数的神经网络迭代整个输入通过神经网络处理输入计算损失loss反向传播梯度到神经网络的参数更新网络的参数,典型的更新方法是:weight = weight - lea...
2019-11-03 00:45:06
746
原创 【cs231n】lecture 6 Training Neural Networks(上)
文章目录Part 1Activation Functions(激活函数)SigmoidtanhReLULeaky ReLUPReLUData Preprocessing(数据预处理)Weight Initialization(权重初始化)Batch Normalization(批量归一化)Badysitting the Learning Process(训练过程监控)Hyperparameter ...
2019-10-29 10:25:55
450
原创 pytorch学习笔记(二)Tensor和autograd
文章目录Tensors(张量)Tensors(张量)Tensors其实就是多维数组,Tensors类似于NumPy的ndarrays,同时Tensors可以使用GPU进行计算。构造一个5*3矩阵import torchx = torch.empty(5,3) #不初始化x = torch.rand(5,3) #随机初始化x = torch.zeros(5,3,dtype=t...
2019-10-27 09:55:15
819
1
原创 pytorch学习笔记(一)pytorch环境搭建
文章目录pytorch简介pytorch安装pytorch简介PyTorch 是一个基于 Torch(LUA语言) 的 Python 开源机器学习库,用于自然语言处理等应用程序。 它主要由 Facebook 的人工智能研究小组开发。PyTorch是一个Python包,提供两个高级功能:具有强大的GPU加速的张量计算(如NumPy)包含自动求导系统的的深度神经网络pytorch安装在...
2019-10-26 10:19:28
212
原创 【cs231n】lecture 5 Convolutional Neural Network
文章目录卷积和池化视觉之外的卷积神经网络卷积和池化Fully Connected Layer(全连接层):上图中,输入为一张32323(展开即为3072的向量)的图片,和权值W进行点积,输出10个得分。Convolution Layer(卷积层):卷积层和全连接层的区别是可以保全空间结构,输入32323的图片。不展开为一个长向量的形式,即可保存图片的结构。权重是一些小的卷积核,将卷积...
2019-10-25 16:09:52
203
原创 【cs231n】lecture4 Backpropagation and Neural Network
文章目录反向传播反向传播本节内容:如何计算任何复杂函数的解析梯度,需要用到一个计算图的框架。计算图:用图来表示任何函数,图中的节点表示我们要执行的每一步计算。例如下图:输入x和W,进行矩阵相乘得到一个得分向量,通过hinge loss计算Li,R计算一个正则项,最后的L是损失项和数据项的和。利用计算图进行Backpropagation:反向传播是链式法则的递归调用。第一步计算正向传播...
2019-10-23 09:34:48
203
原创 【cs231n】lecture 3损失函数和优化
文章目录3.1 损失函数3.1 损失函数损失函数的概念理解:图一,在线性分类中,W的每一行对应一个分类模板,它给出图片所属类别的可能的得分,得分越高说明该图片中的物体属于这一类别的可能性越大,因此我们需要选择一个分类效果最优的W,W来自于数据集的训练。损失函数就是用来度量某个W好坏的,输入为W,得到一个得分,定量地估计W的好坏,这个函数即为损失函数。数学公式表示:上图中第一个公式为...
2019-10-19 18:53:45
503
原创 【cs231n】lecture2 图像分类,数据驱动方法
工具:Python+Numpy学习参考:http://cs231n.github.io/python-numpy-tutorial/2.1 数据驱动方法语意鸿沟:数据驱动方法:获取大量图片数据集和标签使用机器学习来训练一个分类器识别程序接口API:最邻近分类器最临近算法:在训练集中找到最接近的示例(样本),这些样本来自训练集,所以这些最接近示例的标签已知。如何比较两张图片?...
2019-10-17 15:02:53
200
原创 第一次使用Linux服务器
入坑CV的第一步,第一次使用学校的Linux服务器。与服务器建立连接我的电脑是win10的,服务器是Ubantu,需要建立两者之间的连接。尝试过PuTTY和Xshell,都能与服务器建立连接,且操作都很简单,但是在文件传输的时候都遇到了问题,最后师兄告诉我使用winscp,界面简洁,操作简单好用。下载winscp,和一般的软件安装一样,很简单,安装成功之后,打开软件,输入账号和密码,点击链...
2019-10-16 15:33:18
285
原创 【cs231n】lecture1
【cs231n】lecture1深度学习的发展ImageNetLarge Scale Visual Recognition Challenge(大规模视觉识别竞赛)卷积神经网络深度学习的发展ImageNetImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库。ImageNet由将近1400万多的图片,分为22000类的物体或场景。Large Scale Visual Rec...
2019-10-14 02:00:08
180
原创 【1】成绩排序--sort函数的使用
【1】成绩排序–sort函数的使用对数组进行排序,可调用c++标准库中的sort函数,使用方便。且效率高,相当于快速排序的效率。时间复杂度为n*log2(n)一.c++标准库里的排序函数的使用方法1.Sort函数包含在头文件为#include的c++标准库中,在程序的开始要包含这个文件。2.Sort函数的三个参数(1)第一个是要排序的数组的起始地址。(2)第二个是结束的地址(最后一位要...
2019-05-16 16:36:06
1962
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人