自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (1)
  • 收藏
  • 关注

原创 10以太坊Token详解

什么是Token?单词_Token_来源于古英语“tacen”,意思是符号或符号。常用来表示私人发行的类似硬币的物品,价值不大,例如交通Token,洗衣Token,游乐场Token。如今,基于区块链的Token将这个词重新定义为基于区块链的抽象概念,可以被拥有,并代表资产,货币或访问权。“Token”一词与微不足道的价值之间的联系与物理Token的使用限制有很大关系。通常仅限于特定的企...

2018-08-02 13:18:42 4823 1

原创 09以太坊开发工具、框架和库

框架框架可使以太坊智能合约开发变得轻松。自己做所有事情,你可以更好地理解所有事物如何结合在一起,但这是一项繁琐而重复的工作。下面列出的框架可以自动执行某些任务并使开发变得轻而易举。TruffleGithub; https://github.com/Trufflesuite/Truffle网站; https://Truffleframework.com文档; https://Tr...

2018-08-02 13:17:31 1569

原创 08智能合约

智能合约我们在 [intro] 中发现,以太坊有两种不同类型的账户:外部所有账户(EOAs)和合约账户。EOAs由以太坊以外的软件(如钱包应用程序)控制。合约帐户由在以太坊虚拟机(EVM)内运行的软件控制。两种类型的帐户都通过以太坊地址标识。在本节中,我们将讨论第二种类型,合约账户和控制它们的软件:智能合约。什么是智能合约?术语_smart contract_已被用于描述各种不同的事物...

2018-08-02 13:16:21 1386

原创 07交易

交易交易是由外部所有帐户发起的签名消息,由以太坊网络传输,并在以太坊区块链上进行记录(挖掘)。在这个基本定义背后,有很多令人惊讶和着迷的细节。看待交易的另一种方式是,它们是唯一可触发状态更改或导致合约在EVM中执行的东西。以太坊是一个全球的单实例状态机器,交易是唯一可以让状态机“运动”,改变状态的东西。合约不会自行运行。以太坊不会在后台运行。一切都始于交易。在本节中,我们将剖析交易,展示它...

2018-08-02 13:14:23 701

原创 05密钥和地址

以太坊的基础技术之一是 密码学 cryptography,它是数学的一个分支,广泛用于计算机安全。密码学在希腊文中的意思是“秘密写作”,但密码学的科学不仅仅包含秘密协作,它被称为加密。加密也可以用来证明秘密的知识而不泄露该秘密(数字签名),或者证明数据的真实性(数字指纹)。这些类型的密码学证明是以太坊和大多数区块链系统的关键数学工具,广泛用于以太坊应用。讽刺的是,加密并不是以太坊的重要组成部分,因...

2018-08-02 13:11:22 753

原创 04以太坊测试网(Testnets)

什么是测试网?测试网络(简称testnet)用于模拟以太网主网的行为。有一些公开的测试网络可以替代以太坊区块链。这些网络上的货币毫无价值,但它们仍然很有用,因为合约和协议变更的功能可以在不中断以太网主网或使用真实货币的情况下进行测试。当主网(简称mainnet)即将包含对以太坊协议的任何重大改变时,其测试主要在这些测试网络上完成。这些测试网络也被大量开发人员用于在部署到主网之前测试应用程序。...

2018-08-02 13:09:58 6518 1

原创 03以太坊客户端

以太坊客户端是实现以太坊规范并通过对等网络与其他以太坊客户端进行通信的软件应用程序。不同的以太坊客户端如果符合参考规范和标准化通信协议,就可以互操作。虽然这些不同的客户端由不同的团队和不同的编程语言实现,但他们都“说”相同的协议并遵循相同的规则。以太坊是一个_open source_项目,源代码可在开放(LGPL v3.0)许可下使用,可免费下载并用于任何目的。开源意味着不仅仅是免费使用。这也...

2018-08-02 13:08:12 2297

原创 02以太坊基础

控制和责任像以太坊这样的开放区块链是安全的,因为它们是_去中心化的_。这意味着以太坊的每个用户都应该控制自己的密钥,这些密钥可以控制对资金和合约的访问。一些用户选择通过使用第三方保管人(比如交易所钱包)放弃对密钥的控制权。在本书中,我们将教你如何控制和管理你自己的密钥。这种控制带来了很大的责任。如果你丢失了你的钥匙,你将无法获得资金和合约。没有人可以帮助你重新获得访问权 - 你的资金将永远...

2018-08-02 13:06:52 1030

原创 01什么是以太坊

以太网是“世界的计算机”,这是以太坊平台的一种常见描述。这是什么意思呢?让我们首先从关注计算机科学的描述开始,然后对以太坊的功能和特性进行更实际的解读,并将其与比特币和其他分布式账本技术(简单起见,我们将经常使用“区块链”指代)进行对比。从计算机科学的角度来说,以太坊是一种确定性但实际上无界的状态机,它有两个基本功能,第一个是全局可访问的单例状态,第二个是对状态进行更改的虚拟机。从更实际的...

2018-08-02 13:05:03 1572

原创 用 golang 实现区块链系列三 | 持久化与命令行

简介到现在为止,我们已经搞了一个带有工作量证明的区块链,它使得挖矿成为可能。我们的实现已经离一个功能全面的区块链更近了一步,但仍然缺少一些重要的功能。今天我们会开始吧区块链存在一个数据库里,然后做一个简单的命令行接口投操作区块链。本质上,区块链是一个分布式的数据库。我们先省略“分布式”这个部分,集中处理“数据库”这部分。数据库选择当前,我们的视线中没有数据库;作为替代,我们每次运行程序会创建区块并...

2018-07-04 13:46:59 813

原创 用 golang 实现区块链系列二 | 工作量证明

介绍在 上篇文章中, 我们构建了一个很简单的数据结构,这个结构就是区块链数据库的本质。而且我们赋予了它们类似于链式操作中添加数据块的能力:每个区块和前一个区块相链接。不过哦,我们的区块链实现有一个很大的瑕疵:添加一个区块太简单了,成本太低了。区块链和比特币的其中一个重要基石则是添加新的区块非常困难。今天,我们来修复这个瑕疵。工作量证明区块链的一个关键思想就是在添加数据到区块链之前需要做一些很困难的...

2018-07-04 13:42:19 1449

原创 用 golang 实现区块链系列一 | 基本原型

介绍区块链是二十一世纪以来最具革命性的科技之一,它仍在发展中,并且其潜力仍未被充分认知。本质上,区块链只是一个分布式的记录数据库,但使它和其他数据库不一样的是,他并不是一个私有数据库,而是公开的。每个使用它的人都有完整或者部分副本。并且一条新的记录只能在被数据库的其他管理员同意的情况下才能被加入。区块链也使得加密货币和智能合约成为可能。本系列文章将会构建一个基于简单区块链实现的简单加密货币。Blo...

2018-07-03 19:12:59 3140

原创 理解区块链

一、区块链是什么区块链是一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式[1]。这是一个比较正式的定义,简单的理解就是它是一个特殊的分布式数据库,通过在区块链网络上的共识算法,每个节点共享数据,保证了区块链的一致性以及安全性。区块链技术经历了如下的发展:(1)区块链1.0以比特币为代表的加密货币。(2)区块链2.0以智能合约为依托的...

2018-06-11 10:21:11 4480

翻译 Solidity 中的代理库

由 Zeppelin Solutions 和 Aragon 联合发布我们最近读了一些关于 Solidity 中可以做的一些巧妙的把戏和攻击的文章。具体来讲,有 Jorge Izquierdo 写的关于库驱动型开发的文章 以及 Simon de la Rouviere 写的关于 ThrowProxy 的文章 。这让我们开始思考如何利用这些想法将 Zeppelin 转变成一个可升级的部署在区块链上的代...

2018-06-11 09:55:27 693

原创 共识算法学习资料

共识算法        区块链架构是一种分布 式的架构。其部署模式有公共链、联盟链、私有链三 种,对应的是去中心化分布式系统、部分去中心化分 布式系统和弱中心分布式系统。 分布式系统中,多个主机通过异步通信方式组成 网络集群。在这样的一个异步系统中,需要主机之间 进行状态复制,以保证每个主机达成一致的状态共 识。然而,异步系统中,可能出现无法通信的故障主 机,而主机的性能可能下降,网络可能拥塞,这...

2018-05-28 14:29:59 687

原创 IPFS+IPNS应用1

1、在ipfs新增文件1.1 新建文件tianlei@tianlei:~$ mkdir aaatianlei@tianlei:~$ cd aaatianlei@tianlei:~/aaa$ nano file.txttianlei@tianlei:~/aaa$ cat file.txt hello worldhello me1.2 查看ipfs相关命令tianlei@tianlei:~/aaa$ ...

2018-02-09 10:20:54 1320

原创 IPFS介绍及安装

IPFS安装IPFS(InterPlanetary File System)是一个点对点的分布式超媒体分发协议,它整合了过去几年最好的分布式系统思路,为所有人提供全球统一的可寻址空间,包括Git、自证明文件系统SFS、BitTorrent和DHT,同时也被认为是最有可能取代HTTP的新一代互联网协议。IPFS用基于内容的寻址替代传统的基于域名的寻址,用户不需要关心服务器的位置,不用考虑文件存储的名...

2018-02-09 10:05:47 4364 1

原创 TensorFlow实战系列14--循环神经网络简介

循 环 神 经 网 络(recurrent neural network,RNN) 源 自 于 1982 年 由Saratha Sathasivam 提出的霍普菲尔德网络。霍普菲尔德网络因为实现困难,在其提出的时候并且没有被合适地应用。该网络结构也于 1986 年后被全连接神经网络以及一些传统的机器学习算法所取代。然而,传统的机器学习算法非常依赖于人工提取的特征,使得基于传统机器学习的图像识别、语

2018-02-07 12:13:42 657

原创 TensorFlow实战系列13--LeNet-5 模型

LeNet-5 模 型 是 Yann LeCun 教 授 于 1998 年 在 论 文 Gradient-basedlearning applied to document recognition 中提出的,它是第一个成功应用于数字识别问题的卷积神经网络。在 MNIST 数据集上,LeNet-5 模型可以达到大约 99.2% 的正确率。LeNet-5 模型总共有 7 层,图 7 展示了 LeN

2018-02-06 15:11:42 925

原创 TensorFlow实战系列12--池化层网络结构

在卷积神经网络中,卷积层之间往往会加上一个池化层(poolinglayer)。池化层可以非常有效地缩小矩阵的尺寸,从而减少最后全连接层中的参数。使用池化层既可以加快计算速度也有防止过拟合问题的作用。和卷积层类似,池化层前向传播的过程也是通过移动一个类似过滤器的结构完成的。不过池化层过滤器中的计算不是节点的加权和,而是采用更加简单的最大值或者平均值运算。使用最大值操作的池化层被称之为最大池化层(ma

2018-02-06 14:52:44 1398

原创 TensorFlow实战系列11--卷积层网络结构

图 4 中显示了卷积层神经网络结构中最重要的部分,这个部分被称之为过滤器(filter)或者内核(kernel)。因为 TensorFlow 文档中将这个结构称之为过滤器(filter),所以我们将统称这个结构为过滤器。如图 4 所示,过滤器可以将当前层神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵。单位节点矩阵指的是一个长和宽都为 1,但深度不限的节点矩阵。     

2018-02-06 14:45:24 3442

原创 TensorFlow实战系列10--卷积神经网络简介

斯 坦 福 大 学(Stanford University) 李 飞 飞(Feifei Li) 教 授 带 头 整理的 ImageNet 是图像识别领域非常有名的数据集。在 ImageNet 中,将近 1500 万图片被关联到了 WordNet 的大约 20000 个名词同义词集上。ImageNet 每年都举办图像识别相关的竞赛(ImageNet Large Scale VisualRecog

2018-02-06 14:21:11 403

原创 TensorFlow实战系列9--实战程序1

将训练和测试分成两个独立的程序,这可以使得每一个组件更加灵活。比如训练神经网络的程序可以持续输出训练好的模型,而测试程序可以每隔一段时间检验最新模型的正确率,如果模型效果更好,则将这个模型提供给产品使用。除了可以将不同功能模块分开,本节还将前向传播的过程抽象成一个单独的库函数。因为神经网络的前向传播过程在训练和测试的过程中都会用到,所以通过库函数的方式使用起来既可以更加方便,又可以保证训练和测试过

2018-02-06 14:00:52 372

原创 TensorFlow实战系列8--滑动平均模型

在采用随机梯度下降算法训练神经网络时,使用滑动平均模型在很多应用中都可以在一定程度提高最终模型在测试数据上的表现。滑动平均模型可以有效的减小训练数据中的噪音对模型带来的影响。在TensorFlow中提tf.train.ExponentialMovingAverage 来实现滑动平均模型。在初始化ExponentialMovingAverage 时,需要提供一个衰减率(decay)。这个衰减率将

2018-02-06 13:48:24 851

原创 TensorFlow实战系列7--过拟合问题

在使用梯度下降优化神经网络时,被优化的函数就是神经网络的损失函数。这个损失函数刻画了在训练数据集上预测结果和真实结果之间的差距。然而在真实的应用中,我们想要的并不是让模型尽量模拟训练数据的行为,而是希望通过训练出来的模型对未知的数据给出判断。模型在训练数据上的表现并不一定代表了它在未知数据上的表现。过拟合问题就是可以导致这个差距的一个很重要因素。所谓过拟合,指的是当一个模型过为复杂之后,它可以很好

2018-02-05 22:40:23 538

原创 TensorFlow实战系列6--学习率的设置

上面提到在优化神经网络时,需要设置学习率(learning rate)控制参数更新的速度。学习率决定了参数每次更新的幅度。如果幅度过大,那么可能导致参数在极优值的两侧来回移动。还是以优化J(x)=x2 函数为样例。如果在优化中使用的学习率为1,那么整个优化过程将会如表2 所示。 从上面的样例可以看出,无论进行多少轮迭代,参数将在5 和-5 之间摇摆,而不会收敛到一个极小值从上面

2018-02-05 22:36:32 1987 1

原创 TensorFlow实战系列5--梯度下降算法

本文将介绍优化训练神经网络模型的一些常用方法,并给出使用TensorFlow 实现深度学习的最佳实践样例代码。为了更好的介绍优化神经网络训练过程,我们将首先介绍优化神经网络的算法——梯度下降算法。然后在后面的部分中,我们将围绕该算法中的一些元素来优化模型训练过程。梯度下降算法 梯度下降算法主要用于优化单个参数的取值,而反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经

2018-02-05 22:35:19 2808

原创 TensorFlow实战系列4-- 解决MNIST 问题

MNIST 是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例。MNIST 数据集是NIST 数据集的一个子集,它包含了60000 张图片作为训练数据,10000 张图片作为测试数据。在MNIST 数据集中的每一张图片都代表了0-9 中的一个数字。图片的大小都为28×28,且数字都会出现在图片的正中间。图5 展示了一张数字图片及和它对应的像素矩阵:

2018-02-05 22:14:09 361

原创 TensorFlow实战系列3--实现反向传播

在前向传播的样例程序中,所有变量的取值都是随机的。在使用神经网络解决实际的分类或者回归问题时需要更好地设置参数取值。使用监督学习的方式设置神经网络参数需要有一个标注好的训练数据集。以判断零件是否合格为例,这个标注好的训练数据集就是收集的一批合格零件和一批不合格零件。监督学习最重要的思想就是,在已知答案的标注数据集上,模型给出的预测结果要尽量接近真实的答案。通过调整神经网络中的参数对训练数据进行拟合

2018-02-05 22:08:34 6738

原创 TensorFlow实战系列2-- 实现前向传播

为了介绍神经网络的前向传播算法,需要先了解神经元的结构。神经元是构成一个神经网络的最小单元,图2 显示了一个神经元的结构。        图2 神经元结构示意图 从图2 可以看出,一个神经元有多个输入和一个输出。每个神经元的输入既可以是其他神经元的输出,也可以是整个神经网络的输入。所谓神经网络的结构就是指的不同神经元之间的连接结构。如图2 所示,神经元结构的输出是所有输

2018-02-05 22:00:20 867

原创 TensorFlow 实战系列1---基本概念

TensorFlow 的名字中已经说明了它最重要的两个概念——Tensor和Flow。Tensor 就是张量。在TensorFlow 中,所有的数据都通过张量的形式来表示。从功能的角度上看,张量可以被简单理解为多维数组。但张量在TensorFlow 中的实现并不是直接采用数组的形式,它只是对TensorFlow 中运算结果的引用。在张量中并没有真正保存数字,它保存的是如何得到这些数字的计算过程

2018-02-05 21:51:36 455

原创 卷积神经格络(CNN)模型训练 MNIST数据集

# 数据集下载地址:https://github.com/nlintz/TensorFlow-Tutorials/blob/master/05_convolutional_net.py本文用TensorFlow 搭建一个卷积神经格络(CNN)模型,并用它来训练 MNIST数据集。同样,构建的流程也是先加载数据,再构建格络模型,最后训练和评估模型。# 加载TF 并加载数据import te

2018-02-05 13:40:47 908

原创 TensorFlow框架--Keras使用

Keras 是一个高级的Python 神经网络框架,其文档详。Keras 已经被添加到 TensorFlow 中,成为其默认的框架,为TensorFlow 提供更高级的API。 如果读者不想了解TensorFlow 的细节,只需要模块化,那么Keras 是一个不错的选择。如 果将TensorFlow 比喻为编程界的Java 或C++,那么Keras 就是编程界的Python。它作为 Ten

2018-02-05 11:02:37 13372

原创 TensorFlow 框架--TFLearn使用

得益于TensorFlow 社区的繁荣,诞生出许多高质量的元框架(metaframework),如Keras、TFLearn、TensorLayer 等。使用元框架能够大大减少编写TensorFlow 代码的工作量,方便开发 者很速搭建网络模型,并且使代码简单、可读性强。 TFLearn 是一个建立在TensorFlow 顶部的模块化的深度学习框架,它为TensorFlow 提供

2018-02-05 10:48:32 3393 3

转载 Spark SQL在100TB上的自适应执行实践

Spark SQL是Apache Spark最广泛使用的一个组件,它提供了非常友好的接口来分布式处理结构化数据,在很多应用领域都有成功的生产实践,但是在超大规模集群和数据集上,Spark SQL仍然遇到不少易用性和可扩展性的挑战。为了应对这些挑战,英特尔大数据技术团队和百度大数据基础架构部工程师在Spark 社区版本的基础上,改进并实现了自适应执行引擎。本文首先讨论Spark SQL在大规模数据集

2018-02-01 14:12:13 328

原创 逻辑回归(Logistic Regression)

2.1分类问题在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈等等。 我们从二元的分类问题开始讨论。 我们将因变量(dependant variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 其中 0 表示负向类

2018-01-31 16:50:29 808 1

原创 单变量线性回归(Linear Regression with One Variable)

1.1 模型表示之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下: m 代表训练集中实例的数量 x 代表特征/输入变量 y 代表目标变量/输出变量 (x,y) 代表训练集中的实例 (x(i),y(i) ) 代表第 i 个观察实例 h 代表学习算法的

2018-01-31 16:30:45 832

原创 无监督学习

我们将介绍第二种主要的机器学习问题。叫做无监督学习。 上文中,已经介绍了监督学习。回想当时的数据集,如图表所示,这个数据集中每条数据都已经标明是阴性或阳性,即是良性或恶性肿瘤。所以,对于监督学习里的每条数据,我们已经清楚地知道,训练集对应的正确答案,是良性或恶性了。 在无监督学习中,我们已知的数据。看上去有点不一样,不同于监督学习的数据的样子,即无监督学习中没有任何的标签或者是有相

2018-01-31 16:11:31 3289 1

原创 监督学习

我们用一个例子介绍什么是监督学习把正式的定义放在后面介绍。假如说你想预测房价。前阵子,一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。你把这些数据画出来,看起来是这个样子:横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。那么关于这个问题,机器学习算法将会怎么帮

2018-01-31 16:04:58 1296 1

原创 使用开源项目根据IP解析出城市信息的工具类编译

使用github上已有的开源项目 1)git clone https://github.com/wzhe06/ipdatabase.git 2)编译下载的项目:mvn clean package -DskipTests 3)安装jar包到自己的maven仓库 mvn install:install-file -Dfile=/Users/rocky/source/ipdatabase/tar

2018-01-31 11:29:05 627

Apache_Kylin系列之:概念,原理,架构和典型案例

Apache_Kylin系列之:概念,原理,架构和典型案例,Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc.开发并贡献至开源社区。

2018-02-04

空空如也

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

TA关注的人

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