- 浏览: 430548 次
- 性别:
- 来自: 上海
最新评论
-
xudada:
楼主好,请问您是怎么实现增量编译的,我看代码中58,59行直接 ...
eclipse实现JavaWeb应用增量打包 -
njchenliang:
楼主,我按你的方法来,怎么一次都没启用?
当angularjs遇到微信jsdk -
xumin_wlt:
楼主bpFlatFileItemReader 这个类在哪里呢? ...
修复spring batch读取多文件类 MultiResourceItemReader 存在的bug -
yizishou:
我认为可以写得更简单:(?=.*([a-zA-Z].*){2, ...
java密码复杂度正则表达式 -
bewithme:
有以下几种拓扑Embedded 嵌入式 Peer-To-Pe ...
Apache Geode 创建和使用群集配置教程
文章列表
不说废话,给出源码地址
https://gitee.com/bewithmeallmylife/easyNgPagination/wikis/%E7%AE%80%E4%BB%8B?sort_id=1095576
解决切换分支报“没有共同的祖先” (shares no common ancestry with) 的问题:
svn sw --ignore-ancestry svnURl
或是在eclipse下切换分支时选 ignore ancestry
使用反向传播的多层神经网络训练原理
此项目描述了多层神经网络利用反向传播算法的训练过程。为了阐明这个过程,使用了两个输入和一个输出的三层神经网络,如下图展示:
每个神经元由两个单元构成。第一单元添 ...
开始
这是运行DL4J示例所需的一切,并开始自己的项目。
我们建议你加入我们的 Gitter Live Chat。Gitter是你可以请求帮助和提供反馈的地方,但是在问下面我们已经回答的问题之前,请务必使用这个指南。如果你是深度学习的新手,我们已经为初学者提供了路线图,链接到课程、阅读和其他资源。
代码尝试
DL4J是一种特定领域的语言,用于配置由多层构成的深度神经网络。一切都从MultiLayerConfiguration开始,这些MultiLayerConfiguration组织这些层和它们的超参数。
超参数是决定神经网络如何学习的变量。它们包括更新模型权重的次数、 ...
概述
每一个机器学习工作流至少由两部分组成。第一部份是加载你的数据并准备它用于学习。我们将此部分称为ETL(提取、转换、加载)过程。DataVec是我们为让构建数据管道更容易而构建的库。第二部分是实际的学习系统本身。这是DL4J的算法核心。
所有的深层学习都是基于向量和张量的,DL4J依赖于一个叫做ND4J的张量库。它为我们提供了处理n维数组(也叫做张量)的能力。由于其不同的后端,它甚至使我们能够同时使用CPU和GPU。
为学习和预测准备数据
与其他机器学习或深度学习框架不同,DL4J将加载数据和训练算法的任务视为单独的过程。你不只是把模型指向在磁盘上保 ...
实用工具
HtmlAnalysis
[源码]
createHtmlAnalysisString
public static String createHtmlAnalysisString(DataAnalysis analysis) throws Exception
将数据分析对象呈现为HTML文件。这将产生一个汇总表,沿着数字列的图表。HTML文件的内容以字符串形式返回,应该写入到.html文件中。
为什么要进行归一化?
当它们被馈送的数据被归一化时,神经网络工作得最好,数据被限制在-1到1之间。这样做有几个原因。一个是使用梯度下降训练网络,并且它们的激活函数通常在-1和1之间的某个范围。即使使用不会很快饱和的激活函数,将你的值限制到这个范围以提高性能仍然是很好的实践。
可用的预处理器
MultiNormalizerStandardize
[源码]
MultiDataSet的预处理器把特征值(和可选的标签值)归一化到均值为0,标准差为1。
load
使用
运算,就像一个函数,帮我们执行一个转换并加载数据到数据向量。运算的概念是很底层的,这意味着大多数时间你不需要关心它们。
加载数据到Spark如果你正在使用Apache Spark,函数将迭代数据集并加载它到一个Spark RDD里并把原始数据转换为一个Writable。
import org.datavec.api.writable.Writable;
import org.datavec.api.records.reader.impl.csv.CSVRecordReader;
import org.datavec.spark.transform.misc ...
使用过滤器
过滤器是转换的一部份并为你保留你数据集的一部份给定了一个领域特定语言。过滤器可以是单一条件的一个内衬,也可以包括复杂的布尔逻辑。
TransformProcess tp = new TransformProcess.Builder(inputDataSchema)
.filter(new ConditionFilter(new CategoricalColumnCondition("MerchantCountryCode", ConditionOp.NotInSet, new HashSet<>(Arrays.asLis ...
本地还是远程执行?
因为数据集通常是比较大的,所以你可以决定最适合你需要的执行机制。例如,如果你正在对大型训练数据集进行向量化,则可以在分布式spark集群中处理它。但是,如果需要进行实时推理,数据向量还提供不需要任何附加设置的本地执行器。
执行一个转换过程
一旦你已经用概要创建了你的转换过程,并且你已经加载你的数据到了一个 Apache Spark JavaRDD或有一个记录读取器来加载你的数据集,你就可以执行一个转换了 。
本地执行如下:
import org.datavec.local.transforms.LocalTransformExecutor;
...
可用的条件
布尔条件
[源码]
布尔条件:用于创造复合条件,如AND(ConditionA, ConditionB, …)
作为一个布尔条件是一个条件,这些可以链接在一起,像NOT(OR(AND(…),AND(…)))。
outputColumnName
读取器
读取器从存储中的数据集迭代记录,并将数据加载到数据向量中。除了数据集中的单个条目之外,阅读器的用处包括:如果想要在语料库上训练文本生成器,或是以编程方式将两个条目组合在一起形成新的记录的时候该怎么办?读取器实现对于复杂的文件类型或分布式存储机制是有用的。
读取器返回记录记录中每一列的Writable类。这些类用于将每个记录转换为张量/NDArray 格式。
使用
每个读取器实现都扩展了BaseRecordReader并提供了一个简单的API用于选取数据集中的下一条记录,行为类似于迭代器。
包括以下有用的方法:
next: 返回一个批 ...
数据分析
有时候数据集太大或格式太抽象以致于在某些列或模式上无法分析和评估统计。
数据向量附带一些辅助工具来执行数据分析,以及最大值、平均值、最小值和其他有用的度量。
用spark进行数据分析
如果你 ...
RemoveAllColumnsExceptForTransform 移除指定列的转换
[源码]
该转换移除除显式指定的作为保留的列之外的所有列。
public Object map(Object input)
把一个对象转换为另外一个对象
参数param是需要转换的对象
返回一个转换后的writable对象
mapSequence
stringMapTransform
public Builder stringMapTransform(String columnName, Map<String, String> mapping)
在指定的列中用新的值替换一个或多个字符串值。map中的键是旧值;map中的值是要替换的新值。如果一个字符出现在数据中但不在map中, ...