自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MATLAB易坑的地方总结

1.x = [x(1); x(2); ...; x(n)];1 ./ x才是[1/x(1); 1/x(2); ...; 1/x(n)]. 不是 1/x !!!

2020-01-31 08:52:17 382

原创 用pillow-simd替换pillow

torchvision使用的PILLOW做图像处理实在太慢了,pillow-simd要快一些。Windows下比较简单的安装方法是,从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载build好了的whl文件,然后cmd输入$ pip uninstall pillow$ pip install -U --force-reinstall P...

2019-10-05 03:38:50 2107

原创 VS+CUDA配置

有几点需要注意的:要先安装VS,如果先安装的cuda,可以重新运行cuda安装程序,将VS相关的组件(比如NSIGHT)重新安装要运行cuda的例程,需要特点版本的Windows SDK每个工程只能有一个main函数。...

2019-08-24 07:29:42 523

原创 pytorch object detection的tips

windows下安装cocoapihttps://github.com/philferriere/cocoapi

2019-07-17 02:30:45 537

原创 难记的latex命令

\lessgtr

2019-04-29 10:04:09 212

转载 复数域内积求导

看了下面这个帖子,基本理解了复数域内积求导的过程:https://math.stackexchange.com/a/393946/599299

2018-10-02 03:02:53 4363

原创 【贝叶斯分析⑥】高斯混合模型

代码地址:https://github.com/ChengJiacheng/bayesian-analysis/blob/master/GMM.py有时候,某些数据的生成无法用一个简单的高斯分布描述,但可以用高斯分布的组合来描述。这种假设数据是从一系列分布的组合中产生的模型,称作混合模型。混合模型中我们需要一个隐变量来描述数据是从哪个分布产生的,这个隐变量是一个categorical变量,描述...

2018-07-31 21:13:28 2444

原创 【贝叶斯分析⑤】鲁棒线性回归

代码地址:https://github.com/ChengJiacheng/bayesian-analysis/blob/master/RobustLR.py有时我们的数据中会有异常点,会对回归的结果造成很大的影响。根据此前鲁棒推断的经验,我们将数据的先验分布改为t分布再进行推断,可以得到鲁棒的结果。...

2018-07-31 20:04:26 2118

原创 【贝叶斯分析④】线性回归

代码地址:https://github.com/ChengJiacheng/bayesian-analysis/blob/master/LR.py线性回归是统计学习中的常见问题,即求解线性模型y=α+βx中的参数α、β。通常的做法是最小二乘法(最小均方误差法),将参数估计问题(the problem of estimating α and β)转化成了一个最优化问题(an optimizati...

2018-07-31 18:06:32 608

原创 【贝叶斯分析③】高斯推断和鲁棒推断

 高斯分布是一个非常简单而有用的分布,一方面是因为高斯分布数学上分析起来是否简单。另一个原因可能是中心极限定理(CLT),大致是说当样本数足够多时,样本均值会呈正态分布。我们可以用高斯分布来对某一观测指标的分布进行建模,高斯分布的两个参数均值、标准差的先验可以用均匀分布、半正态分布。 # -*- coding: utf-8 -*-import numpy as npim...

2018-07-31 14:40:07 786

原创 【贝叶斯分析②】抛硬币问题

抛硬币问题可能是贝叶斯推断中最基础的一个入门问题,该问题简单来说就是对一枚硬币出现正面朝上的概率θ进行估计。不同于MLE, MAP等估计方法求出的是一个估计值,贝叶斯分析求出的是一个后验分布(用贝叶斯公式)。θ的先验通常选用beta分布,n次观测正面朝上次数y的似然则可以用参数为n和θ二项分布来描述。用数学表达式描述如下θ ~ Beta(α, β),y~ Bin(n, p = θ).这里顺...

2018-07-30 23:58:09 5714

原创 【贝叶斯分析①】Metropolis-Hastings算法理解和简单实现

贝叶斯分析的目标就是根据先验分布(prior distribution)和观测数据(data)求后验分布(posterior distribution),计算机不能存储连续的分布,也就不能通过分析的方法求出后验,而是只能通过对分布进行采样离散化存储,这样就引出了对(先验)分布采样的问题。求参数后验的问题又称为推断问题(Inference),解决推断的方法主要分为Non-Markovian meth...

2018-07-30 21:57:58 4454

原创 【贝叶斯分析⑦】高斯过程

贝叶斯框架下, 可以用高斯过程来估计一个函数 f : R→R. 对于每个xi, f(xi)可以用一个均值方差暂未知的高斯分布来建模。因为连续空间的xi可以有无限个,拟合一个函数的高斯过程其实一个无限维的多元高斯。实际中,不管是我们的给定数据{(x, y)},还是测试点{x*}的个数都是有限的。因此无论是高斯过程先验还是还是高斯过程后验都是有限维的。因为多元高斯分布的任意有限自己还是多远高斯分布,所...

2018-07-29 18:38:32 3206 2

原创 关于python的argparse模块使用的一个例程

参考https://www.jianshu.com/p/fef2d215b91dargparse模块可以方便地在命令行设置一些超参数# encoding: utf-8import argparseparser = argparse.ArgumentParser(description="Exponent Computing")parser.add_argument("-a"...

2018-07-27 17:57:24 358

原创 pytorch实现简易版unet

最近看了一些semantic segmentation的paper,参考网上的教程(https://tuatini.me/practical-image-segmentation-with-unet/),用pytorch实现一个简化的unet练练手。整个project的文件结构如下:关于数据集:用的是kaggle carvana-image-masking-challenge 竞赛...

2018-07-21 13:43:20 5636 2

原创 pytorch实现cifar10分类

写这个程序主要是为了熟悉pytorch自定义dataset的方式,所以没有用torchvision自带的cifar10,而是直接将原始图片都下下来了(下载:https://pjreddie.com/media/files/cifar.tgz)。dataset实现方式也很简单,我个人喜欢将数据集的所有图像地址和所有图像标签分别存在两个npy文件中,然后两个numpy array作为dataset...

2018-07-19 23:55:42 1449

原创 tqdm工具显示进度条

# -*- coding: utf-8 -*-from tqdm import tqdmfrom collections import OrderedDicttotal = 10000 #总迭代次数loss = totalwith tqdm(total=total, desc="进度条") as pbar: for i in range(total): l...

2018-07-19 12:47:59 6646

原创 python/pytorch tips

多GPU使用,直接改环境变量设置:os.environ['CUDA_VISIBLE_DEVICES'] = '0,1,2,3'想知道num_workers怎么设:from multiprocessing import cpu_countthreads = cpu_count()关于conv2d参数的设置:当输入 H1*W1,步长stride S,零填充pad...

2018-07-18 18:39:23 192

原创 Spyder+ipython下的坑

1. 通过路径读文件读不出来(none)时,试试在路径前加一个r,例如cv2.imread(r"C:\Users\Virgile\Downloads\red.JPG")2. matplotlib不能一张纸画图:Tools → Preferences → Ipython Console → Graphics → Graphics Backend → Backend: “automati...

2018-06-16 15:52:31 2058

原创 Windows10下tensorflow object detection API的配置

①首先要从GitHub/tensorflow下载models包,git clone https://github.com/tensorflow/models如果没安装过git的话,可以用conda安装conda install git②安装protoc从 https://github.com/google/protobuf/releases 下载 protoc-3.5.0-win32.zip 并解...

2018-04-20 00:09:57 721

原创 ubuntu服务器pytorch环境搭建

最近总是换服务器,搭建了N次pytorch环境,决定总结一下经验。①安装anaconda从官网(https://www.anaconda.com/download/#linux)下载安装文件,上传到服务器,使用bash指令进行安装:$ bash Anaconda3-5.0.1-Linux-x86_64.sh不想看licensewen文件可以按q跳过,注意安装完成后,程序会问是否把anaconda的...

2018-03-03 11:51:00 3216

原创 matplotlib不能正常显示图像

之前在Spyder+iPython下用matplotlib画图(plt.show()),总是不能正常画图,输出这种。解决方法是在控制台中输入魔法指令 %matplotlib,然后就能正常画图了。

2018-02-02 09:39:08 2250 2

原创 用pytorch实现预训练网络的finetune

继续熟悉pytorch,发现的确比TensorFlow好用,在官网finetune教程的基础上进行了大幅修改,主要是熟悉了pytorch自带的Dataset和DataLoader类。# -*- coding: utf-8 -*-import os, torch, glob, time, copyimport numpy as npfrom torch.autograd import

2018-01-30 11:37:33 1803

原创 pytorch实现用Resnet提特征并保存为txt文件

接触pytorch一天,发现pytorch上手的确比TensorFlow更快。可以更方便地实现用预训练的网络提特征。以下是提取一张jpg图像的特征的程序:# -*- coding: utf-8 -*-import os.pathimport torchimport torch.nn as nnfrom torchvision import models, transforms

2018-01-28 22:23:37 8845 13

原创 用Pytorch训练CNN(数据集MNIST,使用GPU)

听说pytorch使用比TensorFlow简单,加之pytorch现已支持windows,所以今天装了pytorch玩玩,第一件事还是写了个简单的CNN在MNIST上实验,初步体验的确比TensorFlow方便。参考代码(在莫烦python的教程代码基础上修改)如下:import torch import torch.nn as nn from torch.autograd

2018-01-28 14:26:53 10886 4

原创 训练神经网络交叉熵loss变为NaN的解决办法

最近继续在用MNIST跑一些简单的MLP玩,发现当把隐节点数从300提高到1000之后训练loss就变成了全程NaN,在网上搜了搜发现原因因为交叉熵loss中用到了log函数,当输入为0时就会出现NaN。一个直接的结局方法是在log的输入中加上一个非常小的数(e.g. 1e-10)。不过如此修改之后,我发现测试loss虽然不是NaN了,却变成了始终振荡,原因是学习率过大所导致的,将学习率调低一个数

2018-01-26 12:36:11 8584 1

原创 使用CUDA加速MATLAB程序

MATLAB十分擅长矩阵计算,如能借助CUDA工具箱调用NVIDIA GPU加速并行运算,能起到如虎添翼的效果。最简单的调用方法是使用gpuArray()函数数据放到GPU上运算,再用gather()函数将结果取回(前提是运算支持gpuArray类型的变量,目前尝试过的矩阵乘法、求逆、pdist、pdist2函数均支持,可惜进行二次规划的quadprog并不支持。)。不过,我最初在wind

2018-01-25 17:38:19 15542

原创 Windows10+python3.5+cuda8.0+cudnn6.0+tensorflow配置

因为Ubuntu的坑实在太深,我决定还是回归Windows系统,发现Windows下其实TensorFlow的配置也并不复杂。 首先下载安装anacondahttps://www.anaconda.com/download/安装完成之后在root环境下的终端新建新环境tensorflow>conda create tensorflow python=3.5激

2018-01-19 23:11:54 568

原创 在MNIST上观测过拟合

一直都在看到过拟合这个说法,但是自己从没有在实验中遇到过.最近用TensorFlow在MNIST上面做了些实验,总算弄清了一些门道.首先我用mini-batch SGD训练最简单的单隐层MLP(无dropout,BN,正则化等trick),不出意料,即使迭代到几万步,模型在测试集上的accuracy也没有下降的意思.然后自然就是增加层数(到5层),即使如此,我发现如果仍然用全部训练数据上min

2018-01-17 12:21:15 864

原创 TensorBoard对训练过程可视化(不用tf.summaries.merge_all)

目前接触到的TensorBoard可视化教程中都使用了tf.summaries.merge_all,但是我只想跟踪训练loss和测试集accuracy,而且测试集accuracy的更新频率要低很多,所以再使用tf.summaries.merge_all就不是很方便了.因此需要分开run定义的tf.summary.scalar().基于MNIST的MLP实现代码如下:# -*- codi

2018-01-07 12:47:51 1837

原创 TensorFlow变量管理、保存和读取(持久化)

TensorFlow(tf)中可用tf.variable_scope函数生产上下文管理器,在该上下文管理器的命名空间内定义的变量名称都会带上这个命名空间名作为前缀,例如 with tf.variable_scope("s1"): 下定义的变量变量名前缀都是"s1/".从外,tf.train.Saver类可以用于保存指定session下的变量计算图和变量值.可参考以下示例程序:impor

2018-01-05 22:29:46 612

原创 ubuntu使用tips

获得文件操作的root权限:$ sudo nautilusWPS字体缺失http://blog.csdn.net/baidu_35557785/article/details/68948560Mendeley Desktop:一个很好的跨平台文献管理工具(支持PDF高亮)https://www.mendeley.com/download-m

2017-12-30 10:50:59 185

原创 spyder编辑器自动补全

最近安装gym之后发现代码补全又失效了,解决方法如下:$ pip uninstall enum34

2017-12-27 15:26:32 2211

原创 Ubuntu 16.04 + CUDA 9.0下安装GPU版TensorFlow 1.4(无需从源码编译安装)

因为安装cuda时选择了9.0版本,不能通过 $ pip install tensorflow-gpu 的方法简单地安装GPU版TensorFlow,嫌使用源码编译安装过于麻烦,所以一直在使用CPU版的TensorFlow。知道昨天发现GitHub上有第三方提供的支持cuda 9.0的编译后的whl安装包。https://github.com/mind/wheels然后就可以简单地通过

2017-12-26 17:32:06 767

原创 一个强化学习Value Iteration的演示教程

http://www.cs.ubc.ca/~poole/demos/mdp/vi.html现在只能用IE打开了。

2017-12-20 19:09:01 1858 1

原创 XPS15 9560 UBUNTU安装

U盘启动盘制作:参考http://blog.csdn.net/yaoyut/article/details/78003061U盘便捷启动选择syslinux 总是弹出“找到多于1个分区”解决方法:在“便捷启动”菜单下进入分区表编辑器,把分区设为“活动”非“隐藏”就可以继续写入syslinux 引导了“设备忙 请退出所有正在运行的应用程序”解决方法:格式化

2017-11-30 01:54:41 1625

原创 Linux下运行程序tips

pspc上传文件夹C:\Users\admin>pscp -r c:/test jccheng@*.*.*.*:/home/jccheng下载文件:C:\Users\admin>pscp -r jccheng@*.*.*.*:/home/jccheng/test/fill.out D:\result\后台运行程序:nohup matlab <exp1.m> fill.out...

2017-08-03 18:33:11 261

原创 logistics模型要点

阈值的选取:当正负样本数相近时,阈值最好在0.5附近;当正样本远少于负样本时,阈值要大于0.5;

2017-06-22 11:29:40 1446

原创 编写MATLAB脚本产生正弦信号的mif文件

信号发生器可以用一个存储器实现,根据不同的地址信号,输出不同的信号值即可。配置RAM或ROM中的数据可以用mif文件,mif文件是存储器初始化文件,即memory initialization file,生成mif文件可用QuartusII自带的mif编辑器,但是这种方法必须一个个的确定每个点的值,不适合大规模存储器。因此可以用高级语言编程生成mif文件。首先要了解mif文件的格式:

2017-05-03 08:31:30 11314 1

原创 自己实现MATLAB支持向量化输入输出的零阶修正贝塞尔函数

function [ y ] = Bessel0( x )% 此函数用于计算0阶修正贝塞尔函数值% 支持向量化输入输出% 作用相当于MATLAB自带的库函数besseli(0,x)theta =0.001:0.001:2*pi;length(theta);t= repmat(x, length(theta), 1);t= reshape(t,1,[]);theta= repmat(

2017-05-02 17:59:59 1491 1

空空如也

空空如也

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

TA关注的人

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