自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (6)
  • 收藏
  • 关注

原创 从零开始搭建图像处理实验平台(React&Flask&MongoDB)

为了争取提前毕业,最近需要做大量图像处理的实验,改代码、调参、存结果,由于专注于实验,所以丝毫没顾及代码质量,又懒得重构,导致今天写的代码明天就忘了什么意思,加上实验室同学可能将来都或多或少需要做图像处理实验,所以不如借此机会,花几周时间把「图像处理网站」搭好,让有需要的同学能方便地做图像处理实验。网站的前端使用React进行开发,这里要特别感谢我的小伙伴熊鑫同学,愿意花费业余时间帮助我完成前...

2018-11-26 15:58:00 559

原创 用责任链模式实现图像处理方法的选择(python)

结合我们822实验室开源的图像处理平台(http://822lab.top)介绍用责任链模式实现图像处理方法的选择(python),供后续学弟学妹参考,整个平台的从零搭建记录在这里,后端仓库在这里,前端仓库在这里,欢迎大家为平台做贡献。需求:图像处理方法可以分为几个大类,比如图像平滑、轮廓提取、角点检测、形态学处理等,每一个大类下又有很多小类,比如图像平滑有高斯平滑、中值平滑和均值平滑等,我...

2018-11-26 16:00:49 461

原创 了解Flask并实现简单的HTTP请求

结合我们822实验室开源的图像处理平台(http://822lab.top)介绍Flask后端开发,供后续学弟学妹参考,整个平台的从零搭建记录在这里,后端仓库在这里,前端仓库在这里,欢迎大家为平台做贡献。Flask是一个python web微框架,也是刚开始接触,入门服务器端框架并能快速搭建好一个简单的服务器端程序是有套路的,当然,服务器开发并不那么简单,是需要持续更新的,到底好不好,还有哪些...

2018-11-26 16:00:06 1268

原创 Jenkins安装与配置(Flask+Gunicorn及React)

结合我们822实验室开源的图像处理平台(http://822lab.top)介绍Jenkins安装与配置(Flask+Gunicorn及React),供后续学弟学妹参考,整个平台的从零搭建记录在这里,后端仓库在这里,前端仓库在这里,欢迎大家为平台做贡献。服务器:阿里云操作系统:Ubuntu16.04后台:python,Flask+gunicorn前端:react提前安装:git安装J...

2018-11-26 15:59:10 486

原创 CAM论文剖析(Learning Deep Features for Discriminative Localization)

英文原文请点这里 译文请点这里 文章内容剖析实验代码在这里. 摘要本文主要工作1、阐述GAP如何使CNN具有卓越定位能力2、证明了所提出网络能定位出“区别性”区域,且分类效果也不差1 介绍扩写摘要,展示结果图引出GAP的功能远不止正则化,更重要的是定位能力指出本文所提网络保留了定位能力且分类能力也不差1.1 相关研究(研...

2018-05-03 18:49:27 1752 3

原创 [翻译]Learning Deep Features for Discriminative Localization

英文原文请点这里摘要 在这项工作中, 我们重新审视了《 Network in network》中提出的全局平均 池化层(global average pooling),并阐明了它是如何通过图片标签就能让卷积神经网络具有卓越的定位能力。虽然这项技术以前被当做正则化训练的一种方法,但是我们发现它实际构建了一种通用的适用于各种任务的能定位的深度表示。尽管global average pooling...

2018-05-02 16:48:56 1116

原创 卷积神经网络看见了什么

这是众多卷积神经网络可视化方法之一,方法来自于论文《Learning Deep Features for Discriminative Localization》,论文译文在[翻译]Learning Deep Features for Discriminative Localization。这篇文章的核心思想是提出了一种叫Class Activation Mapping(类激活图)的方法,可以...

2018-05-02 16:48:31 282

原创 TensorFlow和Keras解决大数据量内存溢出问题

内存溢出问题是参加kaggle比赛或者做大数据量实验的第一个拦路虎。以前做的练手小项目导致新手产生一个惯性思维——读取训练集图片的时候把所有图读到内存中,然后分批训练。其实这是有问题的,很容易导致OOM。现在内存一般16G,而训练集图片通常是上万张,而且RGB图,还很大,VGG16的图片一般是224x224x3,上万张图片,16G内存根本不够用。这时候又会想起——设置batch,但是那个b...

2018-05-02 16:48:06 2555 2

原创 卷积神经网络实现多个数字识别

数据集:MNIST 框架:Keras 显卡:NVIDIA GEFORCE 750M 参考:Keras中文文档这是优达学城的深度学习项目,数据集和需求都很简单,关键是为了熟悉框架的使用以及项目搭建的套路,只要用很简单的卷积神经网络就能实现,准确率轻轻松松就能上90%。需求描述随机从MNIST数据集中选择5个或5个以下的数字,拼成一张图片,如下图所示。搭建一个模型,识别图片中的数...

2018-05-02 16:47:20 1544 2

原创 神经网络体系搭建(五)

本篇是神经网络体系搭建的第五篇,解决体系搭建的项目实战,详见神经网络体系搭建(序)主要有下面两个实战: - 卷积神经网络实现多数字识别 - Kaggle走神司机侦测(该项目的代码和网络会在2019年发布,因为本人要写毕设论文,防查重……但是会把这个过程中的一些没有创新点的工程问题总结出来)下面就是解决走神司机侦测的第一个拦路虎——内存溢出问题 - TensorFlow和Keras解决...

2018-05-02 16:46:32 292

原创 [翻译]VGGNET分类任务——VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

VGGNet于2014年提出,在文献VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 中有详细介绍。摘要 本文研究了在大规模图片识别中,卷积神经网络的深度对准确率(accuracy)的影响。我们的主要贡献是通过非常小的3x3卷积核的神经网络架构全面评估了增加深度对网络的影响,结果表明16-19层的网络可以使现...

2018-05-02 16:45:57 548

原创 Fedora27替换cuda9.1为cuda9.0

安装完cuda9.1才发现和tensorflow不兼容…………………… 只好到官网重新下载9.0和对应的cudnn。卸载cuda9.1到/usr/local/,卸载cudasudo dnf remove cuda卸载rpmrpm -e --nodeps cuda-repo-fedora25-9.1-local-9.1.85-1.x86_64.rpm然...

2018-05-02 16:44:56 364

原创 神经网络体系搭建(四)——快速上手TensorFlow

本篇是神经网络体系搭建的第四篇,解决体系搭建的TensorFlow相关问题,详见神经网络体系搭建(序) TensorFlow安装建议用Anaconda。 - Mac & Linuxconda create -n tensorflow python=3.5source activate tensorflowconda install pandas matplotl...

2018-02-03 09:39:53 478

原创 神经网络体系搭建(三)——卷积神经网络

本篇是神经网络体系搭建的第三篇,解决体系搭建的卷积神经网络相关问题,详见神经网络体系搭建(序)卷积神经网络(CNN)CNN是什么卷积神经网络是一种空间上共享参数的神经网络。为什么会有CNN像素间具有临近性,图片中相邻像素在一起时有特殊意义的,但是普通非卷积网络中忽略了这一点,把输入图片的每个像素与下一层的神经元相连,没有利用好这些信息,于是有了卷积神经网络。

2018-01-16 12:03:52 636

原创 神经网络体系搭建(二)——深度学习网络

本篇是神经网络体系搭建的第二篇,解决体系搭建的深度学习网络相关问题,详见神经网络体系搭建(序)深度学习是一个已经被说烂了的词,几乎说起人工智能,非专业人士也会说出深度学习这个词,甚至有时候觉得神经网络,low爆了,深度学习才流行。 我也一度以为深度学习是多么神奇的一个技术,其实说到底,还是神经网络,没啥高大上的,只不过深了很多层,注意,是“深”,而不是“宽”。但是呢,就是深了很多层,确实让它

2018-01-14 16:03:48 435

原创 神经网络体系搭建(一)——神经网络

本篇是神经网络体系搭建的第一篇,解决体系搭建的前四个问题,详见神经网络体系搭建(序)神经网络最简单的神经网络神经网络的定义就不再赘述,直接从最简单的神经网络说起。将一系列输入数据,通过训练好的网络模型处理,得到输出结果,这是神经网络决策的步骤。那么我们的重点就是通过训练得到网络模型。 从上图可以看出,模型的关键其实是寻找合适的权重矩阵。那么如何寻找呢,是一个暴

2018-01-10 17:26:55 516

原创 神经网络体系搭建(序)

神经网络这个概念并不陌生,但是从接触到现在这一个月的时间里,云里雾里,始终无法建立起完整的体系,能让自己顺畅地用神经网络解决一个具体问题,并进行有针对性的优化。于是决定整理近日所学,尝试搭建一个完整的知识体系。体系的搭建想从一系列问题入手,也是我学到此刻急需彻底理清的一些问题,将陆续更新并附上链接。神经网络是什么?解决问题的步骤(算法)是什么?梯度下降用在神经网络的哪一步?损失函数是

2018-01-10 17:26:24 362

原创 用Q-Learning算法实现无人车智能代理程序

优达学城的第四个项目,通过Q-Learning算法来实现一个简单的无人车代驾程序。 先来一张训练过程的动图。 需求分析一个无人车需要满足的最基本需求就是安全性和可靠性。安全性用来保证用户安全,可靠性用来保证在限定时间内将用户送达目的地。安全性和可靠性划分为A+、A、B、C、D、F六个等级 - 安全性 安全性具体表现为遵守交通规则,避免交通事故。 假设有一个简化的世界,路口的交通灯是老式

2017-12-18 11:44:01 1812

原创 05 Gradle打包jmonkey开发的Desktop应用

只是抱着尝试的状态看看gradle能不能将jmonkey程序打包成exe文件,以前没有用gradle打包过exe,百度了一下,居然只用在build.gradle中加两句话:// 加在最上面apply plugin: 'application'compileJava.options.encoding='UTF-8' //这一句可以防止项目中文乱码...// 在最后面mainClassName=

2017-11-16 14:58:45 401

原创 04 Nifty自定义带图片的下拉框

读了好久源代码,才搞明白怎么回事,其实现在回过头来想想很简单,主要是寻找的过程艰难。自定义一个control在resources里面新建一个文件夹MyControls,新建一个名为my-nifty-drop-down-control.xml的文件。<?xml version="1.0" encoding="UTF-8"?><nifty-controls xmlns="http://nifty-gu

2017-11-16 14:58:02 652

原创 03 Jme3和Nifty1.4.2中文显示

用JMonkey最大的问题就是中文问题,IDE不是中文没关系,反正可以迁移到Idea里,但是打包发布的项目以及Nifty做的GUI里没有中文就心塞塞了。好在找到一篇前两年的博客,叫JME3与NIFTY GUI1.3结合,修改使其支持中文的输入与显示,里面有大神解决过该问题,虽然他的版本有些老,很多语句和新的不太一样,但帮了很大忙。源代码修改看过前两篇的同学就知道,我使用gradle管理的依赖,现在要

2017-11-16 14:57:16 946

原创 02 Jmonkey3.2.0+Nifty1.4.2实现GUI

GUI选择实现Jmonkey的GUI有三四种方式,我尝试了三种,有Lemurtonegodnifty最终选择了Nifty, 因为Lemur用java语法完成,不方便编写,用起来又复杂,读了半天文档也没明白;tonegod的参考资料又少,没看懂;而Nifty可以用xml和java做界面,对于开发过Android的我来说最方便,用起来也灵活,重点是它还开源,github的wiki里有详细的使用说

2017-11-16 14:56:05 1104

原创 01 用Intellij idea+Gradle+jmonkey开发3d仿真应用

由于项目需求是某一施工过程的模拟,对准确性的要求高于视觉效果,交付时间又比较紧,需要从数据库和dll中实时读入数据,进行可视化显示,因此选用了JmonkeyEngine。优点在于基于java且开源,学习成本低,看过一些sample,麻雀虽小五脏俱全,足以满足需求;缺点在于国内使用者寥寥无几,碰到问题根本百度不到,只能读开发文档,看源代码。虽然使用群众不多,但还是分享一下在两个多月的使用中遇到的各种问

2017-11-16 14:53:14 1530

原创 知识篇——聚类算法应用

时隔两月开始继续储备机器学习的知识,监督学习已经告一段落,非监督学习从聚类开始。 非监督学习与监督学习最大的区别在于目标变量事先不存在,也就是说 监督学习可以做到“对于输入数据X能预测变量Y”,而非监督学习能做到的是“从数据X中能发现什么?”,比如“构成X的最佳6个数据簇都是哪些?”或者“X中哪三个特征最频繁共现?”这就很好玩了,比如我在Udacity的第三个项目,一家批发经销商想将发货方式

2017-09-09 19:53:29 1044

原创 JavaScript概览

近日的项目需要用JavaScript完成,于是决定通读《JavaScript高级程序设计第三版》,书是2012年的,比较老了,但是可以用来快速了解JavaScript大概,主要目的是为读开源的JS项目扫清一些障碍。JavaScript组成完整的JavaScript由ECMAScript、DOM和BOM三部分组成。 - ECMAScript,提供核心语言功能。 - DOM,文档对象模型,提供访问和

2017-08-03 16:26:51 349

原创 Canvas绘图——2d表

初学JavaScript,用Canvas画一个表。主要用到昨天学的间歇调用(setInterval)。方法和属性介绍context.beginPath()、context.closePath():开始路径和结束路径。通俗讲就像纸上画画的落笔和提笔。context.strokeStyle、context.fillStyle:设置边框颜色和填充颜色。context.arc(x,y,radius,s

2017-08-03 16:26:04 450

原创 机器学习项目流程及模型评估验证

4.9日到现在一直在做Udacity的P1项目——波士顿房价预测。这个项目让我收获最大的就是理清了机器学习解决问题的整体流程,搭起一个框架,学会了寻找模型的最优参数以及模型的评估和验证方法。numpy简单的统计分析整理import numpy as npa = np.array([1,2,3,4,5])# 最小值minimum_a = np.min(a)# 最大值maximum_a = n

2017-04-16 09:01:41 1858 2

原创 基于协同过滤的推荐引擎(实战部分)

基于协同过滤的推荐引擎(理论部分)时隔十日,终于决心把它写出来。大多数实验都是3.29日做的,结合3.29日写的日记完成了这篇实战。数据集准备数据集使用上篇提到的Movielens电影评分数据里的ml-latest-small数据集,下载完成后有下面四个csv文件。 我们这里只需要ratings.csv就够了,打开以后会发现长这样: 是的,它果然和数据库里的没两样,上篇我们介绍的一般评分估计

2017-04-16 09:00:24 4458 7

原创 奇异值分解

最近两天都在看奇异值分解及其在推荐系统和图像压缩方面的应用,这部分知识比较散也比较难理解,看代码不是很好懂,所以通过编学边整理的方式帮助大脑理解这部分知识。 奇异值分解是什么奇异值分解(Singular Value Decomposition,SVD),是一种提取信息的方法。比如有一份记录用户关于餐馆观点的数据,要对其进行处理分析,提取背后的因素,这个因素可能是餐馆的类别,烹饪配料等,然后利用这些

2017-03-28 22:18:08 1012

原创 基于协同过滤的推荐引擎(理论部分)

记得原来和朋友猜测过网易云的推荐是怎么实现的,大概的猜测有两种:一种是看你听过的和收藏过的音乐,再看和你一样听过这些音乐的人他们喜欢听什么音乐,把他喜欢的你没听过的音乐推荐给你;另一种是看他听过的音乐或者收藏的音乐中大部分是什么类型,然后把那个类型的音乐推荐给他。当然这些都只是随便猜测。但是能发现一个问题,第二种想法很依赖于推荐的东西本身的属性,比如一个音乐要打几个类型的标签,属性的粒度会对推荐的准

2017-03-28 22:16:18 1211

原创 主成分分析降维(MNIST数据集)

今天看了用主成分分析简化数据,就顺便用MNIST数据集做了下实验,想直观地看一下效果,并通过完成这个小demo深入理解下原理。我发现“是什么、能做什么、怎么用、效果是什么、原理是什么、优缺点是什么”这样的思路能让我更好地接受一个新知识,之所以把原理放在效果后面,是因为我比较喜欢先看看它的作用,可视化意义之后能提起我对一个知识的兴趣,加深对它意义的理解,后面看数学原理会容易,所以整篇文章就以这样的思路

2017-03-22 17:21:58 9396 2

原创 用TensorFlow的Linear/DNNRegrressor预测数据

今天要处理的问题对于一个只学了线性回归的机器学习初学者来说还是比较棘手——通过已知的几组数据预测一组数据。用excel看了下,关系不是很明显,平方,log都不是很明显,挨着试也不是办法,所以停下来理了理思路。思路整理磨刀时间tensorflow关于回归的文档教程udacity的Titanic实例砍柴时间python读取excel表格的数据尝试一维输入预测输出尝试五维输入预测输出开始磨刀

2017-03-15 17:12:29 6522 2

原创 Mac OS X 10.12.3安装TensorFlow

安装TesorFlow真的是个大坑,整整搞了两天,还没安好GPU版,可能是Mac mini没有独立显卡,但是奇怪的是安装过程中它并没有报错,还安装了NVDIA的驱动,cuda8.0,为了配合cuda8.0我硬生生安了个Xcode7.3,满怀期待地跑smaples,结果一个大大的Error……官网安装介绍网址:https://www.tensorflow.org/versions/r0.12/get_

2017-03-13 22:06:26 1290

原创 Python文件处理

文件读取整个读取with open('pi_digits.txt') as file_object:contents = file_object.read()print(contents)两个注意点:使用关键字with可以自动关闭文件流,如果使用file_object = open('pi_digits.txt')这种方式则需要手动关闭文件流,手动关闭带来的问题就是假设程序在过程中存在bug,

2017-03-13 22:05:43 493

原创 使用TensorFlow实现手写识别(Softmax)

准备工作由于将TensorFlow安装到了Conda的tensorflow环境,虽然可以用Jupyter notebook打开,但是没有提示,写代码不方便,所以使用PyCharm进行编写。设置如下: - 如果是新建项目,在选择使用python的地址的地方,找到anaconda目录,点击envs —-> tensorflow —–> bin —–> python2.7(我的是2.7) - 如果已经

2017-03-13 22:04:41 3636

原创 工厂模式(Factory Design Patter)

什么是工厂模式?定义一:Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. (定义一个创建对象的接口,但是让子类决定实例化哪个

2016-06-02 22:20:13 769

原创 状态模式(State Design Pattern)

以此回顾《设计模式之禅》及其他设计模式书籍、视频中的状态模式。什么是状态模式?Allow an object to alter its behavior when its internal state changes. The object will appear to change its class. (当一个对象的内在状态改变时,允许它修改自己的行为。这个对象看起来像是改变了类)

2016-05-15 16:21:53 1250

原创 关于敏捷开发的思考

刚接触敏捷一个月左右,看各种设计模式、TDD、scrum、xp,但是当别人问到我什么是敏捷开发的时候,还是不知道怎么去回答,所以就想着,是时候理一下这些天学习的关于敏捷的所有,在心里搭一个框架。什么是敏捷开发?在《高效程序员的45个习惯:敏捷开发修炼之道》中这样写道:敏捷开发就是在高度协作的环境中,不断地利用反馈进行自我调整和完善。红色的关键字也指出了敏捷开发的三个特点:高度协作——以

2016-05-11 17:08:18 978

原创 责任链模式(Chain of Responsibility)

以此回顾学习《设计模式之禅》的责任链模式。什么是责任链模式?Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request

2016-05-09 22:09:45 1591

原创 里氏替换原则(Liskov Substitution Principle, LSP)

定义:第一种:If for each object O1 of type S there is an object O2 fo type T such that for all programs P defined in terms of T, the behavior of P is unchanged when O1 is substitueted for O2 then S is a s

2016-05-08 19:36:44 2113

FedoraMediaWriter-win32-4.1.1.exe

FedoraMediaWriter的安装文件,以前叫liveusb creator,用它做Fedora的U盘启动盘十分简单,用其他工具会做失败

2018-02-02

poi-bin-3.17-beta1-20170701

java读excel的所有jar包,包含poi-3.17-beta1、poi-examples-3.17-beta1,、poi-ooxml-3.17-beta1、poi-ooxml-schemas-3.17-beta1、poi-scratchpad-3.17-beta1、xmlbeans-2.6.0、curvesapi-1.04、log4j-1.2.17、junit-4.12、commons-codec-1.10、commons-collections4-4.1、commons-logging-1.2

2017-09-17

MyFirstCodingDojo

第一次CodingDojo的ppt,偏重于介绍敏捷,TDD,UML,以及一个操练的FizzBuzz Kata

2016-05-11

IOS_CollectionViewDemo

简单的CollectionViewDemo,Cell中有一个Label,Label标号自增长

2015-07-22

一元多项式加减乘运算

数据结构上机作业,一元多项式的加减乘运算,双向链表实现

2015-07-12

活期储户管理系统

数据结构课程设计代码,功能如下(1)储户开户(2)储户销户(3)向某账户存款;(4)从某账户取款(5)排序显示所有账户信息(6)查询某账户余额(7)查询某账户交易记录,数据以文件方式存储,c++语言,用到栈、双向队列,算法以二分查找为主,代码采用匈牙利命名法

2015-07-09

空空如也

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

TA关注的人

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