
dl4j
文章平均质量分 88
bewithme
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux下docker安装skil
1.如果没有安装docker,则先安装dockeryum install docker2.启动dockersudo service docker start3.拉取镜象,大约要90分钟docker pull skymind/skil4.启动skildocker run --rm -it -p 9008:9008 -p 8080:8080 skymind/skil...原创 2019-04-10 11:32:24 · 143 阅读 · 0 评论 -
DL4J中文文档/ND4J/张量
张量& ND4J一个向量,即我们输入神经网络的数字列,一个更通用的数学结构的子类,称为张量。张量是多维数组。你已经熟悉了由行和列组成的矩阵:行沿Y轴延伸,列沿X轴延伸。每个轴都是一个维度。张量有额外的维度。张量也有一个所谓的rank:一个标量或单个数的rank为0;一个向量的rank为1;一个矩阵的rank为2;rank为3及以上的实体都简单地称为张量。把标量看作一个点,把向...翻译 2019-01-26 13:29:52 · 341 阅读 · 0 评论 -
DL4J中文文档/ND4J/基本用法
介绍线性代数的基本运算是矩阵的生成、加法和乘法。本指南将向你展示如何使用ND4J以及各种高级转换执行这些操作。语法 元素 变形/转置矩阵 张量 切换CPU为GPU下面的Java代码将创建一个简单的2×2矩阵,用整数填充它,并将其放置在ND数组变量ND:INDArray nd = Nd4j.create(new float[]{1,2,3,4},new int[]{2,2}...翻译 2019-01-26 11:35:07 · 934 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/卷积层
Keras layersKerasSeparableConvolution2D[源码]Keras 可分离卷积2D层支持KerasSeparableConvolution2Dpublic KerasSeparableConvolution2D(Integer kerasVersion) throws UnsupportedKerasConfigurationException ...翻译 2019-01-15 15:15:44 · 505 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/高级激活函数
Keras 高级激活函数KerasThresholdedReLU[源码]从Keras导入ThresholdedReLU层KerasThresholdedReLUpublic KerasThresholdedReLU(Map<String, Object> layerConfig) throws InvalidKerasConfigurati...翻译 2019-01-15 10:58:40 · 417 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/初始化器
支持的初始化器DL4J 支持所有可用的 Keras 初始化器, 名称为: Zeros Ones Constant RandomNormal RandomUniform TruncatedNormal VarianceScaling Orthogonal Identity lecun_uniform lecun_normal glorot_norm...翻译 2019-01-15 10:00:16 · 256 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/约束
所有的 Keras 约束 都被支持: max_norm non_neg unit_norm min_max_norm在 KerasConstraintUtils中实现Keras 到 DL4J 约束映射。翻译 2019-01-15 09:55:29 · 203 阅读 · 0 评论 -
DL4J中文文档/ND4J/概述
本用户指南旨在解释(并提供示例)ND4J中的主要功能。简介 NDArrays:它们在内存中是如何存储的? 视图:当两个或更多NDArrays引用相同的数据 创建NDArrays 0,1和标量值初始化数组 随机数组 从Java数组创建NDArrays 从其它NDArrays创建NDArrays 混杂的NDArray创建方法 获取和设置单个值 获取和设置ND...翻译 2019-01-26 09:52:52 · 7946 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/正则化器
支持的正则化器DL4J模型导入支持所有Keras正则化器。 l1 l2 l1_l2正则化器映射可以在KerasRegularizerUtils 中找到翻译 2019-01-18 13:55:00 · 244 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/损失函数
支持的损失函数DL4J支持所有可用的Keras损失函数(除了logcosh),即: mean_squared_error mean_absolute_error mean_absolute_percentage_error mean_squared_logarithmic_error squared_hinge hinge categorical_hinge l...翻译 2019-01-18 13:51:07 · 360 阅读 · 0 评论 -
DL4J中文文档/ND4J/元素操作
元素操作比矢量操作更直观,因为一个矩阵的元素清楚地映射到另一个矩阵上,为了获得结果,你只需要执行一个算术操作。(示例代码位于此处。)对于向量矩阵运算,你必须首先建立直觉,并执行多个步骤。矩阵乘法有两种基本类型:内(点)积和外积。内积产生一个减少维度的矩阵,外部积产生一个维度扩大的矩阵。助记法:向外扩张,向内收缩。内积与哈达马积,哈达马积要求两个矩阵具有相等的行和列,内积只要求第一个矩阵的...翻译 2019-01-26 16:48:57 · 330 阅读 · 0 评论 -
DL4J中文文档/ND4J/矩阵操作
在学习nd4j的过程中,还有其他一些基本的矩阵操作要突出显示。(示例代码)转置矩阵的转置是它的镜像。矩阵A第1行第2列中的元素将位于矩阵A转置后的第2行第1列中,其数学符号为a到t或a^t。请注意,沿正方形矩阵对角线的元素不会移动-它们位于反射的铰链。在nd4j中,矩阵转置就像这样:INDArray nd = Nd4j.create(new float[]{1, 2, 3, 4}, ...翻译 2019-01-26 17:18:41 · 716 阅读 · 0 评论 -
DL4J中文文档/ND4J/语法
有关完整的ND4J API索引,请参考javadoc。ND4J中使用了三种类型的操作:标量、转换和累加。我们将使用“op”这个词作为“operation”的同义词。你可以在这里的目录下看到这三种nd4j操作的列表。每个列表中的每个Java文件都是一个op。大多数操作只需要枚举,或者一个可以自动完成的离散值列表。激活函数是例外,因为它们采用诸如“relu”或“tanh”之类的字符串。标量...翻译 2019-01-26 20:12:01 · 692 阅读 · 0 评论 -
神经网络输出层激活函数与损失函数选择
问题 激活函数 损失函数 回归 identity MES/ SQUARED_LOSS 分类 二分类 单标签输出 sigmoid XENT 二标签输出 softmax MCXENT/ NEGATIVELOGLIKELIHOOD 多分类 softmax MCXENT/ ...翻译 2019-02-14 10:01:12 · 7564 阅读 · 2 评论 -
按数据类型来选择神经网络架构
输入数据类型 建议的架构 CSV列数据 多层感知机 图像 CNN 序列 LSTM 音频 LSTM 视频 混合CNN+RNN翻译 2019-02-14 09:36:47 · 405 阅读 · 0 评论 -
机器学习超参数mini-batch(小批量)与正则化
1、一个epoch(周期)为所有数据完成一次前向与反向传播,iteration(迭代次数)为权重参数更新的次数,mini-batch(小批量)为一次权重参数更新所用的数据条数。迭代次数=数据总数/小批量 ,例如数据总数为2000条数据,小批量为500,那么一个周期内迭代次数=2000/500=4 ,如果是两个周期,那么迭代次数=2*(2000/500)=82、mini-batch越大,意味着计...原创 2019-01-30 22:22:39 · 5320 阅读 · 1 评论 -
神经网络激活函数可视化
在神经网络中,激活函数决定来自给定输入集的节点的输出,其中非线性激活函数允许网络复制复杂的非线性行为。正如绝大多数神经网络借助某种形式的梯度下降进行优化,激活函数需要是可微分(或者至少是几乎完全可微分的)。此外,复杂的激活函数也许产生一些梯度消失或爆炸的问题。因此,神经网络倾向于部署若干个特定的激活函数(identity、sigmoid、ReLU 及其变体)。下面是激活函数的图示及其一阶导数,...翻译 2019-02-01 16:34:22 · 497 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/噪声层
KerasGaussianDropout[源码]带GaussianDropout的DL4J dropout层的Keras包装器。KerasGaussianDropoutpublic KerasGaussianDropout(Integer kerasVersion) throws UnsupportedKerasConfigurationException 从KerasLa...翻译 2019-01-16 18:23:30 · 291 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/本地层
KerasLocallyConnected1D[源码]从Keras导入一维本地连接层。KerasLocallyConnected1Dpublic KerasLocallyConnected1D(Integer kerasVersion) throws UnsupportedKerasConfigurationException 从KerasLayer传递构造函数参数 k...翻译 2019-01-16 17:16:42 · 181 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/嵌入层
KerasEmbedding[源码]从Keras导入一个嵌入层KerasEmbeddingpublic KerasEmbedding() throws UnsupportedKerasConfigurationException 为单元测试传递构造函数抛出 UnsupportedKerasConfigurationException 不支持的 Keras 配置get...翻译 2019-01-16 16:48:58 · 267 阅读 · 0 评论 -
DL4J中文文档/目录
Arbiter(阿比特) 概述 层空间 参数空间 DataVec 概述 记录 降维 概要 系列化 转换 分析 读取器 条件 执行器 过滤器 运算 归一化 可视化 移动端 Android概述 Android先决条件 Android分...翻译 2019-01-26 21:16:01 · 247 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/核心层
Keras 核心层KerasFlatten[源码]作为DL4J的Cnn或Rnn将Keras的Flatten层导入到前馈InputPreProcessor(输入预入理器)KerasFlattenpublic KerasFlatten(Map<String, Object> layerConfig) throws InvalidKerasCon...翻译 2019-01-16 16:25:29 · 298 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/包装层
KerasBidirectional[源码]从Keras双向层包装器构建DL4J双向层KerasBidirectionalpublic KerasBidirectional(Integer kerasVersion) throws UnsupportedKerasConfigurationException 从KerasLayer传递构造函数参数 kerasVer...翻译 2019-01-18 13:43:07 · 233 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/循环层
KerasLSTM[源码]导入一个Keras的LSTM层作为DL4J的LSTM层。KerasLSTMpublic KerasLSTM(Integer kerasVersion) throws UnsupportedKerasConfigurationException 从KerasLayer传递构造函数参数 kerasVersion Keras主版本 抛出 Un...翻译 2019-01-17 17:40:21 · 212 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/池化层
KerasGlobalPooling[源码]导入一个Keras池化层作为DL4J的子采样层。KerasGlobalPoolingpublic KerasGlobalPooling(Map<String, Object> layerConfig) throws InvalidKerasConfigurationException, Unsuppo...翻译 2019-01-17 16:40:46 · 261 阅读 · 0 评论 -
DataVec/转换-2
stringMapTransformpublic Builder stringMapTransform(String columnName, Map<String, String> mapping) 在指定的列中用新的值替换一个或多个字符串值。map中的键是旧值;map中的值是要替换的新值。如果一个字符出现在数据中但不在map中,这个字符将不会被修改。...原创 2018-10-06 11:45:41 · 180 阅读 · 0 评论 -
DataVec/转换-1
数据转换 数据向量的关键工具之一是转换。数据向量帮助用户将数据集从一个概要映射到另一个概要,并提供一个操作列表来转换类型,格式化数据,把一个2D数据集转换成系列数据。 构建一个转换过程 一个转换过程需要一个概要来成功地转换数据。概要和转换过程类都附带一个帮助构建器类,对于组织代码和避免复杂的构建器来说是很有用的。当两者结合起来它们看起来像如下的样例代码。请注意i...原创 2018-10-06 09:36:22 · 299 阅读 · 0 评论 -
DataVec/系列化
系列化转换数据向量附带系列化转换的能力,这允许在生产环境需要转换时它们更加可移植。一个TransformProcess(转换过程)被序列化为一个人类可读的格式,例如JSON,并且可以保存为文件。 系列化如下这行代码展示了你可以如何系列化转换过程 tp对象String serializedTransformString = tp.toJson()Dese...2018-10-05 16:31:14 · 197 阅读 · 0 评论 -
DataVec/概要
为什么要使用概要? 现实中的不幸是数据是脏的。当为了深度学习而试图向量化一个数据集时,很少能找到没有错的文件。在使用神经网络训练神经网络之前,概要对于维护数据的意义是很重要的。 使用概要 概要基本上用于程序设计变换。在正确执行转换过程之前,需要传递正在转换的数据的概要。一个用于商家记录的概要的例子看起来如下: Schema inputDataSc...原创 2018-10-05 11:21:17 · 281 阅读 · 0 评论 -
DataVec/降维
可用的降维GeographicMidpointReduction (地理中点降维)[源码]分割符是可配置的), 决定了地理位置的中点. 在: http://www.geomidpoint.com/methods.html 查看 “地理中点”实现算法, 查看: http://www.geomidpoint.com/calculation.html 转换publ...原创 2018-10-05 08:54:07 · 149 阅读 · 0 评论 -
DataVec/记录
什么是记录? 在数据向量的世界里,记录代表一个数据集里的单个条目。数据向量区分记录的类型以便在内置的API中使得数据操作更容易。序列和2D记录是可区分的。使用记录 大多数时间你不需要与记录类直接交互,除非你要手动迭代记录,以便通过神经网络进行转发。 记录类型记录[源码]序列记录[源码] 有任何问题请...2018-10-04 16:07:59 · 140 阅读 · 0 评论 -
DataVec/概述
数据向量:一个向量化的ETL(抽取、转换和加载)库 数据向量解决了有效机器或深度学习的最重要障碍之一:将数据转换成神经网络可以理解的格式。神经网络理解向量。向量化是数据科学家开始在数据上训练他们算法之前必须解决的首要问题。数据向量应该适用于你99%的数据转换,如果你不确定它是否适用于你,请在gitter 上咨询。数据向量支持大多数数据格式,但是您也可以实现自己的自定义记录读取器。...2018-10-04 14:15:31 · 660 阅读 · 0 评论 -
Arbiter/参数空间
参数层空间布尔空间[源码]如果参数被设置的值小于或等于0.5它将返回true,否则是false。固定值[源码]固定值是只定义单个固定值的参数空间。连续型参数空间[源码]getValuepublic Double getValue(double[] input) 最小值与最大值之间均匀分布的连续参数空间参数 min 可生成...2018-10-04 09:24:59 · 590 阅读 · 0 评论 -
Arbiter/层空间
层空间激活层空间[源码]自编码器层空间[源码]用于自编码器的层空间批量规一化空间[源码]用于批量规一化的层空间双向的[源码]双向层包装器。可以用同样的方式包装现有的层空间。 卷积层空间[源码]用于卷积层的层空间稠密层空间[源码]用于稠密层空间的层超参数配置空间 (多层感知器层)嵌入式层空间[源码]全局...2018-10-04 08:54:40 · 199 阅读 · 0 评论 -
DataVec/转换-3
RemoveAllColumnsExceptForTransform 移除指定列的转换 [源码] 该转换移除除显式指定的作为保留的列之外的所有列。 public Object map(Object input) 把一个对象转换为另外一个对象参数param是需要转换的对象返回一个转换后的writable对象mapSequence...原创 2018-10-07 09:58:08 · 206 阅读 · 0 评论 -
DataVec/数据分析
数据分析 有时候数据集太大或格式太抽象以致于在某些列或模式上无法分析和评估统计。数据向量附带一些辅助工具来执行数据分析,以及最大值、平均值、最小值和其他有用的度量。 用spark进行数据分析 如果你已经把你的数据加载到Apache Spark,数据向量有一个特殊的AnalyzeSpark类可以生成直方图,收集统计数据,并返回数据质量信息。假设你你已经把数据加载到一个...2018-10-07 11:21:56 · 625 阅读 · 0 评论 -
DataVec/读取器
读取器 读取器从存储中的数据集迭代记录,并将数据加载到数据向量中。除了数据集中的单个条目之外,阅读器的用处包括:如果想要在语料库上训练文本生成器,或是以编程方式将两个条目组合在一起形成新的记录的时候该怎么办?读取器实现对于复杂的文件类型或分布式存储机制是有用的。读取器返回记录记录中每一列的Writable类。这些类用于将每个记录转换为张量/NDArray 格式。 ...原创 2018-10-08 09:24:00 · 384 阅读 · 0 评论 -
DL4J中文文档/Keras模型导入/归一化层
KerasBatchNormalization(Keras批量归一化层)[源码]从Keras导入一个BatchNormalization层。KerasBatchNormalizationpublic KerasBatchNormalization(Integer kerasVersion) throws UnsupportedKerasConfigurationExcept...翻译 2019-01-17 16:03:16 · 1589 阅读 · 0 评论 -
开始/快速入门
开始 这是运行DL4J示例所需的一切,并开始自己的项目。我们建议你加入我们的 Gitter Live Chat。Gitter是你可以请求帮助和提供反馈的地方,但是在问下面我们已经回答的问题之前,请务必使用这个指南。如果你是深度学习的新手,我们已经为初学者提供了路线图,链接到课程、阅读和其他资源。 代码尝试DL4J是一种特定领域的语言,用于配置由多层构成的深度神经网络。一...原创 2018-10-14 20:54:12 · 572 阅读 · 0 评论 -
开始/核心概念
概述 每一个机器学习工作流至少由两部分组成。第一部份是加载你的数据并准备它用于学习。我们将此部分称为ETL(提取、转换、加载)过程。DataVec是我们为让构建数据管道更容易而构建的库。第二部分是实际的学习系统本身。这是DL4J的算法核心。所有的深层学习都是基于向量和张量的,DL4J依赖于一个叫做ND4J的张量库。它为我们提供了处理n维数组(也叫做张量)的能力。由于其不...原创 2018-10-13 19:48:48 · 191 阅读 · 0 评论