![](https://img-blog.csdnimg.cn/20191025092324466.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
强化学习与人工智能
分享deeplearn4j和keras学习笔记
CallMeJacky
如果你有梦想的话,就要去捍卫它 。
展开
-
【dl4j】Java深度学习入门之手写数字识别并生成exe可执行文件
Java做深度学习?今天笔者要介绍的就是如何利用java去实现手写数字识别。本文大部分内容都借鉴自其它博主,在此表示感谢,不过出于笔者喜欢记录自己做过的事情,并且写一点自己的个人体会。所以,希望大佬们不要见怪,再次感谢。本文旨在帮助初次接触deeplearn4j的java爱好者,欢迎评论区留言交流。温馨提示:为了避免不必要的麻烦,请先更新您的JDK和Eclipse至64位。1.DL...原创 2019-07-19 13:10:22 · 907 阅读 · 0 评论 -
【python】利用Pandas进行数据预处理
1.Pandas简介 Pandas(Python Data Analysis Library )是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因...原创 2019-02-27 19:26:04 · 4308 阅读 · 0 评论 -
【python】pytorch安装
1. 安装conda因为需要学习一下pytorch,安装pytorch时遇到了一些问题,踩了很多坑。终于,最后才发现如果使用 conda 会方便很多。犹豫不想占用电脑太多的资源,这里就选择了Miniconda,这里选择Python 3.7,即base环境为python3.7。官方地址:https://docs.conda.io/en/latest/miniconda.html。...原创 2019-05-22 11:51:06 · 6733 阅读 · 1 评论 -
【keras】利用LSTM进行单变量时间序列预测和多变量时间序列预测
对于较为简单的时间序列预测问题,可以使用Exponential Smoothing和ARIMA等传统模型非常方便地求解。然而,对于复杂的时间序列预测问题,LSTM不失为一种很好的选择。因此,本文旨在探讨如何利用LSTM神经网络求解时间序列预测问题。首先,需要明白时间序列预测问题是如何转换为传统的监督学习问题的,即时间窗方法。有关时间序列预测问题转换为监督学习的过程请移步:Time ...转载 2019-02-16 17:23:35 · 35503 阅读 · 60 评论 -
【keras】KDD99 数据集数据处理与BP神经网络实现
有关KDD99数据集的介绍请移步:KDD CUP 99数据集有关KDD99数据集的预处理请移步:KDD CUP99数据集预处理有关keras网络结构可视化环境的配置请移步:Keras中网络可视化模块安装配置本文主要介绍如何利用sklearn自动下载KDD99数据集,并对其进行数据预处理,sklearn中已经将数据进行了预处理,但是,仍然需要进一步处理。其中,包括对输入的离散数据进行处理...原创 2019-02-16 13:46:02 · 8585 阅读 · 33 评论 -
【js】神经网络结构可视化
今天向大家推荐一个由下面这位大佬开发的基于JavaScript的神经网络可视化绘图软件,可以用来绘制各种各样的风格的神经网络图。大佬将代码开源到了github上了,原始的地址为:https://github.com/zfrenchee/NN-SVG。笔者怀着崇拜与敬畏之情,唯恐这么美妙的代码丢失。因此,把源码fork到自己的github上一份,大家可以通过访问:https://jack13...原创 2019-04-04 13:09:29 · 1240 阅读 · 0 评论 -
【Matlab】基于Pareto支配关系的多目标进化算法之KnEA
日常生活中的很多问题都可以建模为多目标优化问题,如典型的路径规划问题,您既想能够较快地到达目的地,又想能够减少路飞。多目标优化算法在一次运行的过程中可以产生一组Pareto最优解,是解决这类问题的强大的框架。本文主要结合论文:A Knee Point Driven Evolutionary Algorithm for Many-Objective Optimization,分析一下PlatEMO...原创 2019-12-30 20:09:19 · 5992 阅读 · 0 评论 -
常用的相似性度量指标
相似性度量,即综合评定两个事物之间相近程度的一种度量。两个事物越接近,它们的相似性度量也就越大,而两个事物越疏远,它们的相似性度量也就越小。相似性度量的给法种类繁多,一般根据实际问题进行选用。1. 余弦相似度2. 曼哈顿距离3. 切比雪夫距离4. 简单匹配系数5. jaccard 相似度5.1Jaccard系数5.2 jaccard 距离5.3 举例6....原创 2019-05-14 19:36:01 · 13454 阅读 · 1 评论 -
【java】轮盘赌算法原理与实现
1.基本思想个体被选中的概率与其适应度函数值成正比。设群体大小为n,个体i的适应度为Fi,则个体i被选中遗传到下一代群体的概率为:2.工作过程设想群体全部个体的适当性分数由一张饼图来代表 (见图)。群体中每一染色体指定饼图中一个小块。块的大小与染色体的适应性分数成比例,适应性分数愈高,它在饼图中对应的小块所占面积也愈大。为了选取一个染色体,要做的就是旋转这个轮子,直到轮盘停止时,看指...转载 2019-10-28 21:35:35 · 2745 阅读 · 0 评论 -
仪表数字图像识别的传统方法
虽然现有很多机器学习算法能够准确地识别数字,但是传统方法对于一些需要离线识别且计算能力有限的下位机设备来说,仍然有非常不错的效果。因此,今天就向大家讲解一下传统的数字识别方法在仪表读数方面的应用。1.图像预处理技术1.1 主要流程图像处理依次需要进行图片预处理、字轮区域定位、字符分割和字符识别等过程。其中图像处理流程如下图所示。2. 详细过程2.1 灰度化为了减小图像原始数据量,本系...原创 2019-12-20 12:39:25 · 3907 阅读 · 4 评论 -
【Matlab】基于指标的多目标优化算法之ISDE+
最近新出了一篇进化计算的论文,学习一下:代码地址1. 源码介绍这里讲解一下代码的具体含义。下载并解压后可以看到两个子文件夹,相信熟悉进化计算的同学应该知道DTLZ和WFG的含义。没错,它们是进化算法中常用的两组测试函数。拿DTLZ为例,可以看到,其中的内容如下:共有7个matlab文件,和一个空的文件夹。2.详细细节2.1 主要流程DTLZ7主要包含7个测试问题,即DTLZ1-D...原创 2019-12-19 20:14:48 · 3150 阅读 · 2 评论 -
【python】Conda虚拟环境管理与包管理
Anaconda 是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu。它解决了Python开发者的两大痛点。提供包管理,功能类似于 pip,Windows 平台安装第三方包经常失败的场景得以解决。 提供虚拟环境管理,功能类似于 virtualenv,解决了多版本Python并存问题。目录1. 虚拟环境管...原创 2019-05-22 20:49:08 · 1925 阅读 · 0 评论 -
【python】matplotlib动态显示
1.matplotlib动态绘图python在绘图的时候,需要开启 interactive mode。核心代码如下: plt.ion(); #开启interactive mode 成功的关键函数 fig = plt.figure(1); for i in range(100): filepath="E:/Model/weights-impr...原创 2019-04-09 19:51:27 · 13017 阅读 · 44 评论 -
【python】将图片保存为gif
假设有下面一堆图片,现在,我们要做的事情是将这些图片转换为gif图,以更好地展示曲线的拟合效果。具体的思路如下:读取第一张图片; 新建一个图片数组,将剩余的图片依次添加到该数组中; 通过调用Image类的save方法生成GIF图片。具体实现代码如下:def save2Gif(rang): im = Image.open("E:/imgs/0.jpg"); i...原创 2019-04-09 18:31:40 · 4626 阅读 · 1 评论 -
【python】*的用法
1. 表示乘法运算2. 表示倍数def T(msg,time=1): print((msg+' ')*time)T('hi',3)结果:hi hi hi3. 单个 *3.1 出现在函数定义的形参位置*parameter是用来接受任意多个参数并将其放在一个元组中。def demo(*p): print(p) demo(1,2,3)结...转载 2019-03-04 09:28:52 · 386 阅读 · 0 评论 -
【keras】YOLO:实时目标检测
1.为什么使用Yolo进行实时目标检测任务 与其他目标检测器相比较而言,Yolov3非常快速和准确。在0.5度测得的地图上,Yolov3与RetinaNet持平,但大约快了4倍。此外,只需更改模型的大小,您就可以轻松地在速度和准确性之间进行权衡,不需要再训练!简单来说,就是Yolo比RetinaNet快很多。2.使用预先训练的模型进行目标检测2.1 从YOLO 网站上...原创 2019-02-21 17:36:59 · 4547 阅读 · 9 评论 -
【keras】Keras RetinaNet 目标检测项目实例
今天看到了目标检测的一个github项目 Keras RetinaNet ,下面对这个项目进行总结如下: Keras implementation of RetinaNet object detection as described in Focal Loss for Dense Object Detection by Tsung-Yi Lin, Priya Go...原创 2019-02-20 19:09:26 · 2483 阅读 · 0 评论 -
【python】降维与数据聚类之 TSNE
计算机可以处理任意多维的数据集,但我们人类认知只局限于3维空间,计算机依然需要我们,所以需要通过一些方法有效的可视化高维数据。通过观察现实世界的数据集发现其存在一些较低的本征维度,同时,尽可能多地保持高维数据的重要特征。1. 问题转换在高维空间相似的数据点,映射到低维空间距离也是相似的。常规的做法是用欧式距离表示这种相似性,而SNE把这种距离关系转换为一种条件概率来表示相似性,即利用两点...转载 2019-03-05 13:31:15 · 3032 阅读 · 0 评论 -
Spyder 中 Reloaded modules 错误的解决方法
第一次运行可以正常显示结果,第二次运行时报错: Reloaded modules: *************************** 出现这个错误网上找了好久没有查到解决方法,去查看spyder文档发现关于“Using UMR to reload changed modules”的内容,查到以下解决方法: 点击菜单栏Tools->Preferences->Python in...转载 2019-02-15 10:01:37 · 39299 阅读 · 15 评论 -
spyder增加模块代码提示功能并设置自动补全
增加模块代码提示功能最近在配置tensorflow,可是发现使用spyder的时候无法加载tensorflow的代码提示,需要自己输入完整的函数名称,十分不方便,于是从网上找了一些资料,来解决spyder无法出现代码提示的问题。1.找到module_completion.py这个文件,我使用的是anaconda3,路径如下:D:\anaconda3\Lib\site-packages\s...原创 2019-02-15 11:11:04 · 3590 阅读 · 0 评论 -
python开发环境之pydev
作为一名python的初学者,在尝试过使用Anaconda时,不得不放弃。原因是其自动提示功能相对于pycharm和pydev来说太弱了,当然,也可能是笔者作为初学者,没有熟练使用的原因。下面记录一下eclipse下python开发环境pydev的搭建过程。1.安装python由于笔者想要在windows下安装tensorflow和keras,所以,python的版本选择为3.5,当然,3...原创 2019-02-15 13:15:32 · 1117 阅读 · 0 评论 -
Keras中网络可视化模块安装配置
1、安装graphviz模块1.1 命令行输入 pip install graphviz1.2 安装graphviz软件。官网地址为http://www.graphviz.org/官网中有解压版和安装版,推荐解压版,因为我使用解压版成功了,安装版好像出了点问题- -解压版:https://graphviz.gitlab.io/_pages/Download/windows/gr...原创 2019-02-15 16:23:19 · 809 阅读 · 0 评论 -
【keras】根据Darknet中的cfg和weight文件生成keras下的h5模型
1.下载 YAD2K: Yet Another Darknet 2 Keras2.解压,并进入文件夹内。cd C:\Users\Administrator\Desktop\YAD2K-master\YAD2K-master3.执行转换操作python yad2k.py tiny-yolov2-trial13.cfg tiny-yolov2-trial13.weights ti...转载 2019-02-22 10:34:31 · 2759 阅读 · 1 评论 -
【keras】走近VGG16卷积神经网络
VGG16是一个16层的卷积神经网络模型,输入数据的维度为224*224*3,即长宽均为224像素的RGB彩色图片,VGG16模型的权重由ImageNet训练而来。由于其具有简单实用的优点,因此,在图像分类和目标检测任务中得到了较为广泛的应用。1.卷积神经网络的基本概念1.1卷积 简单的将其理解为一种数学运算,具体的计算过程如下图所示: ...原创 2019-02-18 14:04:33 · 10007 阅读 · 0 评论 -
【keras】保存和加载神经网络模型
一旦你利用Keras完成了训练,你可以将你的网络保存在HDF5里面。当然,你需要先安装 h5py。HDF5 格式非常适合存储大量的数据,并从 numpy 处理这些数据。比如,我们可以轻松的将存储在磁盘上的多TB数据集进行切片,就好像他们是真正的 numpy 数组一样。你还可以将多个数据集存储在单个文件中,遍历他们或者查看 .shape 和 .dtype 属性。1.保存模型 ...转载 2019-02-18 14:13:59 · 2551 阅读 · 0 评论 -
【keras】GoogleNet 网络结构及其实现
深度学习模型常常通过增加模型的深度或者宽度来获得更高的性能。本文将就深度学习常见的网络结构进行介绍。GoogLeNet是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。在介绍GoogLeNet之前,先介绍一下两种...转载 2019-02-28 13:26:40 · 6058 阅读 · 2 评论 -
【keras】卷积神经网络参数之padding、filters
1.padding参数padding有三种参数可以设定:参数 介绍 valid 不填充,只删除最右边的列(或者最低端的行) same 填充输入以使输出具有与原始输入相同的长度。尽可能两边添加同样数目的零列,如果要添加的列数为奇数个。那么让右边列的个数多一个即可。(竖直方向采用同样的方法) causal 表示因果(膨胀)卷积 举例:输...转载 2019-02-28 15:01:37 · 9084 阅读 · 0 评论 -
【python】windows下编译并安装caffe
1.安装依赖包pip install cmake ninja numpy scipy protobuf six scikit-image pyyaml pydotplus graphviz matplotlib2.下载并编译caffe 从github上下载Windows Caffe,解压后进入目录。然后,打开cmd,利用cd命令切换到该目录下,执行如下编译命令:s...原创 2019-02-25 10:40:28 · 3029 阅读 · 7 评论 -
【keras】神经网络调参
神经网络中需要调的参数很多,如何正确地调参至关重要,需要调节的参数大概有如下几个:神经网络的层数 每层神经元的个数 如何初始化Weights和biases loss函数选择哪一个 选择何种Regularization?L1,L2 Regularization parameter lambda 选择多大合适 激励函数如何选择 是否使用dropout ...转载 2019-02-19 17:30:10 · 4350 阅读 · 0 评论 -
【python】在pydev下调试设置命令行参数
import sysif __name__ == '__main__': # 调试参数 sys.argv.append('tiny-yolov2-trial3-noBatch.cfg'); sys.argv.append('tiny-yolov2-trial3-noBatch.weights'); sys.argv.append('tiny-yolov2-t...原创 2019-02-25 13:38:19 · 568 阅读 · 0 评论 -
【python】利用setup.py安装
有些时候我们发现一些模块没有提供pip install 命令和安装教程 , 只提供了一个setup.py文件 , 这个时候如何安装呢?接着,按照下述步骤安装即可:打开cmd 到达安装目录 python setup.py build python setup.py install或者:打开cmd 到达安装目录 pip install ....转载 2019-02-20 16:13:51 · 30429 阅读 · 2 评论 -
修改Jupyter Notebook的默认工作目录
在使用Jupyter Notebook的时候我发现它默认打开我的C盘目录,并以此作为它的默认工作目录,但是我需要使用的文件不在C盘,于是开始着手修改它的默认工作目录。打开Anaconda Prompt,输入如下命令:根据显示的路径,打开配置文件jupyter_notebook_config.py,全文搜索【notebook_dir】,找到后填入自己的工作路径并保存。(注意:工作路径...转载 2019-02-15 09:37:47 · 440 阅读 · 2 评论