layer

到底什么是 OAuth 2.0?

喜你入骨 提交于 2020-08-18 08:46:28
作者:阮一峰 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片。 问题是只有得到用户的授权,Google才会同意"云冲印"读取这些照片。那么,"云冲印"怎样获得用户的授权呢? 传统方法是,用户将自己的Google用户名和密码,告诉"云冲印",后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。 (1)"云冲印"为了后续的服务,会保存用户的密码,这样很不安全。 (2)Google不得不部署密码登录,而我们知道,单纯的密码登录并不安全。 (3)"云冲印"拥有了获取用户储存在Google所有资料的权力,用户没法限制"云冲印"获得授权的范围和有效期。 (4)用户只有修改密码,才能收回赋予"云冲印"的权力。但是这样做,会使得其他所有获得用户授权的第三方应用程序全部失效。 (5)只要有一个第三方应用程序被破解

Nervos CKB初体验

徘徊边缘 提交于 2020-08-18 06:49:14
目录 介绍 与其他公链的区别 CKB特性 NC Max Cell 模型 RISC-V VM 经济模型 数据结构 CKB 编程模型 加入测试网络Aggron 系统环境 下载命令行程序 初始化配置 运行测试链 访问测试链 加入主网 初始化配置 修改挖矿配置 运行主链 开启挖矿 ckb-cli命令行 使用方法 设置rpc url TUI 创建新账户 领取测试币 查看余额 再创建一个账户(接收转账) 转账 查看交易 查询余额 导出私钥 查看公钥、生成block_assembler 导入私钥 IDE 介绍 Nervos 是一个旨在满足去中心化经济需求的 分层网络 。Layer 1 协议 CKB(Common Knowledge Base 共同知识库)是整个网络的价值存储层,Layer 2 协议在 Layer 1 区块链上提供了无限的可扩展性。 Nervos 网络 = 坚持安全和去中心化的 CKB + 百花齐放的 Layer2 与其他公链的区别 比特币作为一个单一的可编程资产,在 Nervos CKB 上,所有的用户自定义代币(UDT)都可以和原生代币(CKB)都可以通过图灵完备的脚本进行编程,Nervos CKB 是一个多资产可编程的底层智能合约平台。 CKB 并没有采用账户模型,而是 采用了和比特币一样的 UTXO 模型 ,并基于 UTXO 设计了一套新的编程模型 —— cell 模型。

采用ipvsadm管理工具,及Keepalived软件检测服务器的状态,搭建负载均衡的高可用集群

China☆狼群 提交于 2020-08-18 05:45:37
前言 ipvsadm是Linux虚拟服务器的 管理命令 ,是用于设置、维护和检查Linux内核中虚拟服务器列表的命令。Linux虚拟服务器可用于基于两个或更多个节点的集群 构建可扩展的网络服务 。群集的活动节点将服务请求重定向到真正执行服务的服务器主机上。支持TCP和UDP协议,支持三咱数据包转发方法(NAT、隧道、直接路径)以及 八种负载均衡算法 (轮询、加权轮询、最少连接、加权最少连接、基于位置的最小连接,基于位置的最小连接与复制,目标散列和源散列)。 keepalived是一个 类似于layer3, 4 & 5交换机制的软件 ,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 LVS集群搭建 1 环境准备 主机名 主机 IP 备注 lb03 172.16.7.15 01.Cent0S7.4系统 02.防止干扰暂时防火墙firewall和Selinux关闭 03.web03和web04只安装web服务,并满足 curl http://10.0.0.17

Tensorflow实现神经网络的前向传播

本小妞迷上赌 提交于 2020-08-18 05:12:02
我们构想有一个神经网络,输入为两个input,中间有一个hidden layer,这个hiddenlayer当中有三个神经元,最后有一个output。 图例如下: 在实现这个神经网络的前向传播之前,我们先补充一下重要的知识。 一.权重w以及input的初始化 我们初始化权重w的方法为随机生成这些权重,一般可以使用这些随机生成的数据正好在正态分布的曲线上,这也是最符合生成符合自然规律的随机数生成方法: import tensorflow as tf # 一般情况下神经网络上的参数是w的数列,当然我们一般使用随机数来生成这些参数 w=tf.Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1 )) # 其中stddev表示标准差,mean表示均值,【】表示随机生成正态分布的数值的shape 这样我们的权重就生成了,我们初始化input的方法有有以下几种,伪代码如下: 除了这种方式,我们还可以使用 tf.constant([ 1,2,3 ]),来生成指定数值 tf.zeros([ 2,3 ],int32),用来生成全零 tf.ones([ 2,3 ],int32),同来生成全1 tf.fill([ 3,2],6),生成指定数值 下面我们编写一个仅有一个初始值input的神经网络,并利用tensorflow实现对其进行前向传播

学习Hinton老爷子的胶囊网络,这有一篇历史回顾与深度解读

匆匆过客 提交于 2020-08-18 04:09:09
  机器之心分析师网络    作者:周宇    编辑:H4O   本文对多个版本的胶囊网络进行了详细的介绍。   本文以综述的形式,尽可能详细的向读者介绍胶囊网络的诞生,发展过程与应用前景。本文的内容以 Hinton 的标志性文章为基础,结合近年来发表在顶会顶刊的文章为补充,力图详细的让读者们了解胶囊网络的各种版本,熟悉它在不同领域的革命性突破,以及它在目前所存在的不足。   深度学习和人工神经网络已经被证明在计算机视觉和自然语言处理等领域有很优异的表现,不过随着越来越多相关任务的提出,例如图像识别,物体检测,物体分割和语言翻译等,研究者们仍然需要更多有效的方法来解决其计算量和精度的问题。在已有的深度学习方法中,卷积神经网络 (Convolutional Neural Networks) 是应用最为广泛的一种模型。卷积神经网络通常简称为 CNN,一般的 CNN 模型由卷积层 (convolutional layer), 池化层(pooling layer) 和全连接层 (fully-connected layer) 叠加构成。   在卷积的过程中,卷积层中的卷积核依次与输入图像的像素做卷积运算来自动提取图像中的特征。卷积核的尺寸一般小于图像并且以一定的步长 (stride) 在图像上移动着得到特征图。步长设置的越大,特征图的尺寸就越小,但是过大的步长会损失部分图像中的特征。此外

初始CNN及tensorflow实现

孤街醉人 提交于 2020-08-18 02:54:57
1、初识CNN 卷积神经网络(CNN),主要用于图像识别、特征提取、自然语言处理、分类。由输入层、卷积层(Convolutional Layer)、池化层(Pooling Layer)、和全连接层(Fully Connected Layer)组成,其中卷积用于提取高层次特征,池化用于缩小参数,一般为一层卷积加一层池化反复叠加或多层卷积加一层池化;全连接层用于卷积池化后,对数据列化然后经过一两层全连接层,得出结果。 2、CNN进行手写体识别 (1)数据来源:Mnist数据集,从tensorflow导入mnist数据集。首先,在你正在写的项目下创建文件夹MNIST_data;接着,从官网下载四个压缩包,不用解压直接放入文件夹中, http:// yann.lecun.com/exdb/mni st/ 。 import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data . read_data_sets ( 'mnist_data' , one_hot = True ) #one_hot为T代表标签是一个向量 (2)网络结构的搭建 定义网络的输入、输出:首先将输入进行初始化,接着将输入重构成4维;输出为一个二维向量

无所不能的Embedding 1

强颜欢笑 提交于 2020-08-17 20:09:17
word2vec是google 2013年提出的,从大规模语料中训练词向量的模型,在许多场景中都有应用,信息提取相似度计算等等。也是从word2vec开始,embedding在各个领域的应用开始流行,所以拿word2vec来作为开篇再合适不过了。本文希望可以较全面的给出Word2vec从模型结构概述,推导,训练,和基于tf.estimator实现的具体细节。完整代码戳这里https://github.com/DSXiangLi/Embedding 模型概述 word2vec模型结构比较简单,是为了能够在大规模数据上训练,降低了模型复杂度,移除了非线性隐藏层。根据不同的输入输出形式又分成CBOW和SG两种方法。 让我们先把问题简化成1v1的bigram问题,单词i作为context,单词j是target。V是单词总数,N是词向量长度,D是训练词对,输入 \(x_i \in R ^{1*V}\) 是one-hot向量。 模型训练两个权重矩阵, \(W \in R ^{V*N}\) 是输入矩阵,每一行对应输入单词的词向量, \(W^{'} \in R ^{V*N}\) 是输出矩阵,每一行对应输出单词的词向量。词i和词j的共现信息用词向量的内积来表达,通过softmax得到每个单词的概率如下 \[\begin{align} h =v_{wI} &= W^T x_i \\ v_{w^{'}j

py-rfcn中遇到的错误

半世苍凉 提交于 2020-08-17 15:22:23
eltwise_layer.cpp:34 check failed: bottom[i]->shape() == bottom[0]->shape(). error) 训练py-R-FCN或faster rcnn过程中报错 这个错误是在执行element-wise(concat或sum)时产生的,此使只需要根据日志,查找到相加的两个元素,对其维度调整,基本就可以解决问题。 训练py-R-FCNwithFPN过程中报错 在py-rfcn中加入FPN网络结构,产生如下错误:(错误链接: link .) 错误原因 :FPN网络模型中的下采样操作使得特征图分辨减少为原来的1/2,向下取整,而反卷积操作使得特征图分辨率成为原来的两倍,如果图片或特征图的分辨率不是2的整数倍,在FPN网络特征融合的过程中就会产生问题。比如:特征图大小11 11,下采样后为5 5,再将其上采样后为10*10,此时做element-wise(sum)会产生如上错误。 解决办法 : FPN 在congfig.py 中设置了下采样倍数参数:__C.TRAIN.IMAGE_STRIDE=64。同样在congfig.py中添加自己网络中下采样倍数。 // config . py # Max pixel size of the longest side of a scaled input image __C . TRAIN

TiDB 的列式存储引擎是如何实现的?

落花浮王杯 提交于 2020-08-17 08:22:45
作者:韦万 TiDB 是一款分布式 HTAP 数据库,它目前有两种存储节点,分别是 TiKV 和 TiFlash。TiKV 采用了行式存储,更适合 TP 类型的业务;而 TiFlash 采用列式存储,擅长 AP 类型的业务。TiFlash 通过 raft 协议从 TiKV 节点实时同步数据,拥有毫秒级别的延迟,以及非常优秀的数据分析性能。它支持实时同步 TiKV 的数据更新,以及支持在线 DDL。我们把 TiFlash 作为 Raft Learner 融合进 TiDB 的 raft 体系,将两种节点整合在一个数据库集群中,上层统一通过 TiDB 节点查询,使得 TiDB 成为一款真正的 HTAP 数据库。 为了在列式存储上支持实时更新,我们专门为 TiFlash 研发了新的列存引擎 Delta Tree。它可以在支持高 TPS 写入的同时,仍然能保持良好的读性能。本文为大家详细解释 Delta Tree 的设计思路,欢迎讨论。 整体架构 Delta Tree 的架构设计充分参考了 B+ Tree 和 LSM Tree 的设计思想。从整体上看,Delta Tree 将表数据按照主键进行 range 分区,切分后的数据块称为 Segment;然后 Segment 内部则采用了类似 LSM Tree 的分层结构。分区是为了减少每个区的数据量,降低复杂度

理解Docker(2):Docker 镜像

笑着哭i 提交于 2020-08-17 05:25:11
本系列文章将介绍Docker的有关知识: (1) Docker 安装及基本用法 (2) Docker 镜像 (3) Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4) Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5) Docker 网络 对于每个软件,除了它自身的代码以外,它的运行还需要有一个运行环境和依赖。不管这个软件是象往常一样运行在物理机或者虚机之中,还是运行在现在的容器之中,这些都是不变的。在传统环境中,软件在运行之前也需要经过 代码开发->运行环境准备 -> 安装软件 -> 运行软件 等环节,在容器环境中,中间的两个环节被镜像制作过程替代了。也就是说,镜像的制作也包括运行环境准备和安装软件等两个主要环节,以及一些其他环节。因此,Docker 容器镜像其实并没有什么新的理论,只是这过程有了新的方式而已。 镜像(image)是动态的容器的静态表示(specification),包括容器所要运行的应用代码以及运行时的配置。Docker 镜像包括一个或者多个只读层( read-only layers ),因此,镜像一旦被创建就再也不能被修改了。一个运行着的Docker 容器是一个镜像的实例( instantiation )。从同一个镜像中运行的容器包含有相同的应用代码和运行时依赖。但是不像镜像是静态的