机器学习
bebr
这个作者很懒,什么都没留下…
展开
-
Keras在训练期间可视化训练误差和测试误差
原文来自:https://machinelearningmastery.com/display-deep-learning-model-training-history-in-keras/详细的解释,读者自行打开这个链接查看,我这里只把最重要的说下fit() 方法会返回一个训练期间历史数据记录对象,包含 training error, training accuracy, validati...转载 2018-12-24 20:12:28 · 3643 阅读 · 0 评论 -
如何查看张量tensor,并将其转换为numpy数据
在tensorflow 中一般数据都是用tensor来表示,而在python 中一般是用numpy包,然而有时候需要打印变量的数据,可用以下方法来打印:一、import tensorflow as tfa = tf.constant(2.1) #定义tensor常量with tf.Session() as sess: print (sess.run(a))二、还可以通...原创 2019-01-13 14:59:03 · 20621 阅读 · 10 评论 -
Keras中如何解决MNIST数据集无法下载的问题
keras 源码中使用 (x_train, y_train), (x_test, y_test) = mnist.load_data() 这句命令下载MNIST,而这个过程中需要访问 :url = https://s3.amazonaws.com/img-datasets/mnist.npz,但是访问该url的地址被墙了,所以我们可以先将mnist的包下载下来,再将代码稍作修改...原创 2019-01-13 20:39:05 · 3101 阅读 · 3 评论 -
keras中的backend.clip
keras.backend.clip(x, min_value, max_value)逐元素clip(将超出指定范围的数强制变为边界值)参数x: 张量或变量。 min_value: Python 浮点或整数。 max_value: Python 浮点或整数。返回一个张量。import tensorflow as tffrom keras import backen...原创 2019-01-13 21:11:39 · 9524 阅读 · 2 评论 -
Python中三维变二维矩阵(用reshape)后各个维度的关系
一、将一个5X20的二维矩阵变为一个5X10X2的三维数据。import numpy as npX_test = np.arange(100).reshape(5,20)print(X_test)X_test = X_test.reshape([X_test.shape[0], 10, 2])得到的三维的X_test是5个二维的二维矩阵叠加而成的。相当于,将原来5行的...原创 2019-01-14 09:46:32 · 23994 阅读 · 1 评论 -
keras中merge用法
首先keras的文档中是这样给出的,把若干个层合并成一个层keras.engine.topology.Merge(layers=None, mode='sum', concat_axis=-1, dot_axes=-1, output_shape=None, node_indices=None, tensor_indices=None, name=None)layers:该参数为Kera...转载 2019-01-18 21:39:11 · 6717 阅读 · 0 评论 -
Keras中verbose的作用
在 fit 和 evaluate 中 都有 verbose 这个参数,下面详细说一下fit 中的 verboseverbose:日志显示verbose = 0 为不在标准输出流输出日志信息verbose = 1 为输出进度条记录verbose = 2 为每个epoch输出一行记录注意: 默认为 1verbose = 0,在控制台没有任何输出verbose = 1 :显示进度...转载 2019-01-14 11:20:27 · 9472 阅读 · 0 评论 -
Tensorflow 下,指定使用某一块GPU
如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台服务器,希望指定使用特定某块GPU。可以在文件开头加入如下代码:import osos.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"os.environ["CUDA_VISIBLE_DEVICES"] = "1" # 使用第二块GPU(...转载 2019-01-08 19:24:43 · 1994 阅读 · 2 评论 -
numpy.random.seed()的作用
编写如下第一份代码:from numpy import *num=0while(num<5): random.seed(5) print(random.random()) num+=1运行结果为:0.221993171089739480.221993171089739480.221993171089739480.22199317108973...原创 2019-01-08 20:29:34 · 914 阅读 · 0 评论 -
Keras的dense层及其各种初始化方法
keras.layers.core.Dense(units, #代表该层的输出维度activation=None, #激活函数.但是默认 lineruse_bias=True, #是否使用bkernel_initializer='glorot_uniform', #初始化w权重,keras/initializers.pybias_initializer='zeros', #初始化b权重...转载 2019-01-11 21:34:06 · 19622 阅读 · 0 评论 -
keras中model.evaluate , model.predict和model.predict_classes的区别
The model.evaluatefunction predicts the output for the given input and then computes the metrics function specified in the model.compileand based on y_trueand y_predand returns the compute...转载 2019-01-11 16:56:51 · 37295 阅读 · 9 评论 -
重新发现梯度下降法--backtracking line search
一直以为梯度下降很简单的,结果最近发现我写的一个梯度下降特别慢,后来终于找到原因:step size的选择很关键,有一种叫backtracking line search的梯度下降法就非常高效,该算法描述见下图: 下面用一个简单的例子来展示,给一个无约束优化问题:minimize y = (x-3)*(x-3)下面是python代码,比较两种方法# -*- coding:...转载 2018-12-30 08:59:17 · 1385 阅读 · 0 评论 -
Keras Recurrent Layers 解析
转自:https://www.jianshu.com/p/3992fe7bb847GRUkeras.layers.recurrent.GRU(input_dim, output_dim=128, init='glorot_uniform', inner_init='orthogonal', activation='sigmoid', inner_activation='hard_sigmoi...转载 2018-12-30 11:35:06 · 2787 阅读 · 0 评论 -
LSTM的理解
循环神经网络(RNN)人们的每次思考并不都是从零开始的。比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始。你的记忆是有持久性的。传统的神经网络并不能如此,这似乎是一个主要的缺点。例如,假设你在看一场电影,你想对电影里的每一个场景进行分类。传统的神经网络不能够基于前面的已分类场景来推断接下来的场景分类。循环神...转载 2018-12-30 15:18:49 · 1202 阅读 · 0 评论 -
机器学习面试
(1)代码题(leetcode类型),主要考察数据结构和基础算法,以及代码基本功虽然这部分跟机器学习,深度学习关系不大,但也是面试的重中之重。基本每家公司的面试都问了大量的算法题和代码题,即使是商汤、face++这样的深度学习公司,考察这部分的时间也占到了我很多轮面试的60%甚至70%以上。我去face++面试的时候,面试官是residual net,shuffle net的作者;但他们的面试...转载 2018-12-30 16:41:41 · 931 阅读 · 0 评论 -
ROC曲线及其代码实现
一、基本概念ROC曲线(Receiver Operating Characteeristic Curve)是显示Classification模型真正率和假正率之间折中的一种图形化方法。 解读ROC图的一些概念定义:: 真正(True Positive , TP)被模型预测为正的正样本 假负(False Negative , FN)被模型预测为负的正样本 假正(False Positiv...转载 2018-12-25 20:40:23 · 8723 阅读 · 1 评论 -
Keras可视化神经网络的中间层结果
Keras中间层输出的两种方式,即特征图可视化训练好的模型,想要输入中间层的特征图,有两种方式:1. 通过model.get_layer的方式。创建新的模型,输出为你要的层的名字。创建模型,debug状态可以看到模型中,base_model/layers,图中红框即为layer名字,根据你想输出的层填写。最后网络feed数据后,输出的就是中间层结果。 2. 通过建立Kera...转载 2018-12-25 21:14:26 · 3190 阅读 · 0 评论 -
RNN程序
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#载入数据集mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)#输入图片是28*28n_inputs = 28 #输入一行,一行有28个数据max_ti...转载 2018-12-26 10:26:09 · 678 阅读 · 0 评论 -
keras中的LSTM函数及其TimeDistributed层
LSTM层keras.layers.recurrent.LSTM(units, activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', bias_initiali...转载 2019-01-14 17:10:05 · 4376 阅读 · 2 评论 -
Python中 实现过采样和下采样
Imblearn package study 准备知识 1 Compressed Sparse RowsCSR 压缩稀疏的行 过采样Over-sampling 1 实用性的例子 11 朴素随机过采样 12 从随机过采样到SMOTE与ADASYN 13 SMOTE的变体 14 ...转载 2019-02-12 15:22:23 · 20570 阅读 · 0 评论 -
pytorch安装方法
1 、进入官网https://pytorch.org/找到适合自己的版本,CUDA、平台、Python等,然后会自动提示“Run this command” 命令指令进行安装。我的是Python3.5(Anaconda4.2)+CUDA8.0+windows10,当然如果电脑没有GPU,CUDA就选none。2、conda 安装Pytorch包Win+R进入windows运行,输...转载 2019-03-06 09:54:40 · 285 阅读 · 0 评论 -
选择深度学习的GPU卡
深度学习是一个具有强烈计算要求的领域,GPU的选择将从根本上决定您的深度学习体验。需要多个GPU吗?多GPU能够对深度学习有什么影响,我非常感兴趣,于是通过组装具有40Gbit/s的小型GPU集群,然后应用于多GPU训练,激动的看到多个GPU可以获得更好的结果。但是很快发现,在多个GPU上高效地并行化神经网络不仅非常困难,而且对于密集型神经网络,其加速率也非常低。使用数据并行性可以...转载 2019-03-29 15:07:57 · 8770 阅读 · 0 评论 -
keras中保存最优模型ModelCheckpoint
语法keras.callbacks.ModelCheckpoint(filepath,monitor='val_loss',verbose=0,save_best_only=False, save_weights_only=False, mode='auto', period=1)参数说明:filename:字符串,保存模型的路径monitor:需要监视的值verbose:信息...转载 2019-04-05 20:26:17 · 4286 阅读 · 0 评论 -
keras中添加正则化
正则项正则项在优化过程中层的参数或层的激活值添加惩罚项,这些惩罚项将与损失函数一起作为网络的最终优化目标惩罚项基于层进行惩罚,目前惩罚项的接口与层有关,但Dense, Conv1D, Conv2D, Conv3D具有共同的接口。这些层有三个关键字参数以施加正则项: kernel_regularizer:施加在权重上的正则项,为keras.regularizer.Regulariz...转载 2019-04-08 10:53:25 · 29296 阅读 · 9 评论 -
keras中回调函数Callbacks
回调函数Callbacks回调函数是一组在训练的特定阶段被调用的函数集,你可以使用回调函数来观察训练过程中网络内部的状态和统计信息。通过传递回调函数列表到模型的.fit()中,即可在给定的训练阶段调用该函数集中的函数。【Tips】虽然我们称之为回调“函数”,但事实上Keras的回调函数是一个类,回调函数只是习惯性称呼CallbackListkeras.callbacks.Call...转载 2019-04-08 11:06:09 · 1816 阅读 · 0 评论 -
深度学习中end-to-end的认识
End to end:指的是输入原始数据,输出的是最后结果,应用在特征学习融入算法,无需单独处理。end-to-end(端对端)的方法,一端输入我的原始数据,一端输出我想得到的结果。只关心输入和输出,中间的步骤全部都不管。 端到端指的是输入是原始数据,输出是最后的结果,原来输入端不是直接的原始数据,而是在原始数据中提取的特征,这一点在图像问题上尤为突出,因为图像像素数太多,数据维度高,会...转载 2019-04-18 21:46:10 · 1405 阅读 · 0 评论 -
深度学习电脑配置选择
《如何DIY自己的深度学习工作站》《如何配置一台适用于深度学习的工作站?》知乎https://www.zhihu.com/question/33996159/answer/143971704《码农的高薪之路,如何组装一台适合深度学习的工作站?》subtitle SherpaMan中国 05-19 18:40https://c.m.163.com/news/a/CKQP405405119...转载 2019-04-19 21:51:32 · 6788 阅读 · 0 评论 -
CNN 中, 1X1卷积核的作用
1x1卷积最初引起研究者的重视应该是在Network in Network这篇文章里,后面在GoogLeNet和ResNet中都使用了1x1卷积,那么1x1卷积到底有什么用呢?我认为主要作用有三点:1. 实现跨通道的信息交互和整合。1x1卷积核只有一个参数,当它作用在多通道的feature map上时,相当于不同通道上的一个线性组合,实际上就是加起来再乘以一个系数,但是这样输出的featu...转载 2019-01-22 20:07:21 · 2808 阅读 · 1 评论 -
Keras函数式模型
快速开始函数式(Functional)模型我们起初将Functional一词译作泛型,想要表达该类模型能够表达任意张量映射的含义,但表达的不是很精确,在Keras 2里我们将这个词改译为“函数式”,对函数式编程有所了解的同学应能够快速get到该类模型想要表达的含义。函数式模型称作Functional,但它的类名是Model,因此我们有时候也用Model来代表函数式模型。Keras函数式模型...转载 2019-01-20 11:37:01 · 2897 阅读 · 0 评论 -
宏观上理解遗传算法
遗传算法,核心是达尔文优胜劣汰适者生存的进化理论的思想。我们都知道一个种群,通过长时间的繁衍,种群的基因会向着更适应环境的趋势进化,牛B个体的基因被保留,后代越来越多,适应能力低个体的基因被淘汰,后代越来越少。经过几代的繁衍进化,留下来的少数个体,就是相对能力最强的个体了。那么在解决一些问题的时候,我们能不能学习这样的思想,比如先随机创造很多很多的解,然后找一个靠谱的评价体系,去筛选比较好的解...转载 2019-01-20 16:50:00 · 287 阅读 · 0 评论 -
Keras中Conv1D和Convolution1D的区别
在Keras中有的人用从keras.layers.convolutional导入的Conv1D,而有的人用从keras.layers导入的Convolution1D,这仅仅是keras版本不同的原因,在Keras2.0之前使用的是ConvolutionND,N=1,2,3,在Keras2.0之后就被改作了Conv1D。https://stackoverflow.com/question...原创 2019-01-20 19:49:02 · 6319 阅读 · 1 评论 -
keras中的Convolution1D
这篇文章主要说明两个东西,一个是Convolution1D的介绍,另一个是model.summary()的使用。首先我先说下model.summary(),此方法可以打印出模型的信息,读者可以查看每层输出内容。接下来就说下Convolution1D的使用了,Convolution1D一维卷积,主要用于过滤一维输入的相邻元素,官方文档是这样的 1 keras....转载 2019-01-20 20:39:10 · 2748 阅读 · 0 评论 -
Keras中Flatten层的作用
Flatten层的实现在Keras.layers.core.Flatten()类中。作用:Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。例子:from keras.models import Sequentialfrom keras.layers.core import Flattenfrom ...转载 2019-01-20 21:00:29 · 11131 阅读 · 1 评论 -
CIFAR-10数据集
CIFAR-10和CIFAR-100是带有标签的数据集,都出自于规模更大的一个数据集,他有八千万张小图片(http://groups.csail.mit.edu/vision/TinyImages/。这个是一个大项目,你可以点击那个big map提交自己的标签,可以帮助他们训练让计算机识别物体的模型) CIFAR-10 该数据集共有60000张彩色图像,这些图像是32*32,...转载 2019-01-15 19:39:22 · 784 阅读 · 0 评论 -
卷积神经网络之一维卷积、二维卷积、三维卷积
1. 二维卷积 图中的输入的数据维度为14×1414×14,过滤器大小为5×55×5,二者做卷积,输出的数据维度为10×1010×10(14−5+1=1014−5+1=10)。如果你对卷积维度的计算不清楚,可以参考我之前的博客吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(CNN)(上)。 上述内容没有引入channel的概念,也可以说channel的数量为...转载 2019-01-27 14:44:23 · 8583 阅读 · 0 评论 -
win10下安装TensorFlow-gpu版本
一、电脑配置系统:WIN10 64位 教育版显卡:NVIDIA GeForce GTX 960 2GB二、安装内容CUDA 9.0cudnn-9.0-windows10-x64-v7.5.0.56Anaconda3-4.2.0-Windows-x86_64(Python 3.5.2)tensorflow-gpu 1.8.0KerasVisual Studio 2017版本2:...原创 2019-05-01 11:44:49 · 2809 阅读 · 0 评论 -
吴恩达的视频课程做成了文字版
机器学习课程地址:https://www.coursera.org/course/ml笔记地址:http://www.ai-start.com/ml2014/深度学习课程地址:https://mooc.study.163.com/university/deeplearnin...转载 2018-07-27 10:02:04 · 356 阅读 · 0 评论 -
特征选择与特征理解(sklearn)
作者:Edwin Jarvis特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。特征选择主要有两个功能:减少特征数量、降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我们经常不...转载 2018-10-02 17:07:14 · 1879 阅读 · 1 评论 -
大牛主页
版权声明:本文为博主-Wen-fei Wang的原创文章,转载请注明出处,谢谢。 https://blog.csdn.net/u011650143/article/details/745302981、深度学习(Deep Learning)开创者: 1)、Geoffrey E. Hinton的主页:http://www.cs.toronto.edu/~hinton/ ...转载 2018-10-03 10:59:54 · 661 阅读 · 0 评论 -
基于Python的卷积神经网络和特征提取
基于Python的卷积神经网络和特征提取发表于2015-08-27 21:39| 4577次阅读| 来源blog.christianperone.com/| 13 条评论| 作者Christian S.Peron深度学习特征提取神经网络Pythonnolearntheano摘要:本文展示了如何基于nolearn使用一些卷积层和池化层来建立一个简单的ConvNet体系结构,以及如何使用C...转载 2018-10-28 16:21:03 · 4165 阅读 · 0 评论