自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 pymongo在新数据库中写入数据

首先建立与mongodb的连接,查看一下当下所有的数据库,目前我们有5个数据库然后,在新的数据库“N_test”中的,一个名为“new”的集合中插入数据。如果原来没有这个数据库和这个集合,那么会自动新建:成功,返回一个InsertOneResult的对象。再看一下数据库和集合,已经成功添加。...

2021-01-31 19:49:53 984

原创 pip国内镜像解决no matching distribution found for XXX

在pip install XXX命令的后面加上--default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple即可。pip国内的一些镜像  阿里云http://mirrors.aliyun.com/pypi/simple/  中国科技大学https://pypi.mirrors.ustc.edu.cn/simp...

2019-12-17 21:36:35 57501 4

转载 一文搞懂马尔可夫链 (Markov Chain)

它是随机过程中的一种过程,到底是哪一种过程呢?好像一两句话也说不清楚,还是先看个例子吧。先说说我们村智商为0的王二狗,人傻不拉几的,见人就傻笑,每天中午12点的标配,仨状态:吃,玩,睡。这就是传说中的状态分布。你想知道他n天后中午12点的状态么?是在吃,还是在玩,还是在睡?这些状态发生的概率分别都是多少? (知道你不想,就假装想知道吧~~学习真的好累~~)先看个假设,他每个状...

2019-08-20 09:03:00 16889 13

原创 主流的25个深度学习模型

深度学习发展很快,新的模型层出不穷,所以要想全部列举是不可能的。另外,很多模型都是这里提出很长很长时间了,所以也不是说“老”模型就没用,大家学习的话,还是要全面而深入的学习。1、 Feed forward neural networks (FF or FFNN) and perceptrons (P)前馈神经网络和感知机,信息从前(输入)往后(输出)流动,一般用反向传播(BP)来训练...

2019-08-19 15:50:22 35108 4

原创 深度学习发展史

本文从4个方面(张量、生成模型、序列学习、深度强化学习)追踪深度学习几十年的发展史。主要按最早研究出现的时间,从4个方面来追踪深度学习的发展史。1、张量1958年Frank提出感知机,但后来被一些学者发现因算力的不足,制约了较大神经网络的计算,导致很长时间发展缓慢。Fukushima在1979年左右提出Neocognitron,感觉这是卷积和池化的雏形。Hinton在1986年...

2019-08-19 15:10:48 957

原创 python中numpy广播功能(broadcasting)的一些注意事项

Python的特性允许你使用广播(broadcasting)功能,这是Python的numpy程序语言库中最灵活的地方。而我认为这是程序语言的优点,也是缺点。优点的原因在于它们创造出语言的表达性,Python语言巨大的灵活性使得你仅仅通过一行代码就能做很多事情。但是这也是缺点,由于广播巨大的灵活性,有时候你对于广播的特点以及广播的工作原理这些细节不熟悉的话,你可能会产生很细微或者看起来很奇怪的bu...

2019-08-19 12:43:52 1860

原创 SVM和logistic回归的比较

两种方法都是常见的分类算法,从目标函数来看,区别在于逻辑回归采用的是logistical loss,svm采用的是hinge loss。这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与...

2019-08-18 10:34:06 857

原创 IPFS协议栈详解---路由层

本文的内容是IPFS路由层,本层以接口的形式定义了路由层应该具有的能力,路由层需要支持存储内容的查找以及IPFS节点的路由查找,为了实现这个目的,可以采用DHTS,mdns,snr甚至是dns协议来,具体根据设计的需要,动态的设计和配置所采用的路由协议,比如mdns在适合在局域网中发现节点并路由数据,那么在IPFS初始化的时候,在init指令后面增加"-p local-discovery...

2019-08-07 15:56:18 715

原创 数据预处理:标准化和归一化

网上很多关于标准化和归一化的文章,不少是误人子弟的存在。这篇文字希望给大家讲清讲透这两个概念。一、标准化(standardization)公式一般为:(X-mean)/std,其中mean是平均值,std是方差。从公式我们可以看出,标准化操作(standardization)是将数据按其属性(按列)减去平均值,然后再除以方差。这个过程从几何上理解就是,先将坐标轴零轴平移到均值这条线上,...

2019-04-27 19:54:01 6485 1

原创 IPFS协议栈详解-身份层

当我们刚安装好ipfs,第一次使用的时候,我们首先得输入:ipfs init这个命令的作用我们之前讲过,就是创建一个ipfs节点,我们可以在当前目录看到一个.ipfs的文件夹,就是节点文件夹。我们可以查看该文件夹下config文件,看到节点的id和秘钥,以及节点的大小等默认属性。或者也可以通过命令:ipfs id来查看节点的id和公钥,这个节点的id(NodeId)就像我们...

2018-12-27 12:09:01 814 2

原创 Solidity 中Require(), Assert(), Revert()的用法和区别

在Solidity0.4.10之前,if...throw普遍利用于判断一个条件是否满足,如果不满足则终断运行。但这throw了之后它会撤回所有的状态转变,用光你所有的gas,所以这并不是一个好的操作。之后,assert(), require(), and revert() 三个函数代替了if...throw的功能,并对gas有了更好的处理。原文章中提到的例子:if(msg.sender !...

2018-12-19 13:59:45 1793

原创 solidity v0.5.0的重大改变

不知不觉,solidity已经走到了0.5版本,随着solidity 0.5.0 nightly build版本的面世,相信1.0版本也将在不久的将来与开发者见面.作为一个大版本更新,新版引入了很多新特性,也废弃了很多关键字,比如 .call()不仅可以获知远程调用执行成功与否,还将获得远程调用执行的返回值 ABI解码做了新的处理规范,有效防御了"短地址攻击" addre...

2018-12-06 14:42:53 756

原创 IPFS八层协议栈简介

根据官方的文件,我们知道IPFS有八层子协议栈,从低往高分别为身份、网络、路由、交换、对象、文件、命名、应用,每个协议栈各司其职,又互相搭配。配个网上的图。网络层,这是一个基础层,这一层的技术细节过多,并且也非常复杂,已经超出了软件编程的范围,可以将这一层理解为基础的网络设备或者是网络能力,并以此能力构建了点对点链接的基石,其中增加了加密传输,网络穿越,多链接混合等等技术。该层使用的L...

2018-11-26 10:55:18 2785

原创 macbook/unix上配置ipfs

想要玩ipfs,第一步就是先在电脑上配置好ipfs,让我们开始吧第一步,下载安装软件。虽然ipfs官网被墙,但是别忘了还有一个源代码下载地,那就是github。打开连接后根据你电脑的配置选择对应的版本下载。一般选择amd64ipfs/go-ipfs​github.com比如我的是amd64的,我就选择每一类的第一个连接下载。第二个三个都是验证源代码有没有被动过手脚的,当然我们从...

2018-11-13 19:46:09 709

原创 IPFS官方网关被墙?还有那么多选择,过来了解一下!

还有这么多参考网关呢,哪些在线,你一试就知道。 https://ipfs.github.io/public-gateway-checker/   如果你也喜欢ipfs,可以扫码加入我的星球,我们一起亲密的玩耍也可以加入我刚建的QQ群71789361,里边有一些不错的学习资料供下载。个人微信:18191727...

2018-11-12 21:48:56 9861 1

原创 IPFS数据结构Merkle DAG

本文的提纲:一、Hash(哈希)二、Hash List(哈希列表)三、Merkle Tree(默克尔树)四、Merkle DAG(Merkle directed acyclic graph,默克尔有向无环图) 一、Hash(哈希)Hash是一个函数,它把任意长度的数据作为输入,映射成固定长度的输出。例如,对于数据完整性校验,最简单的方法是对整个数据做Hash运算得到固定...

2018-11-08 13:25:29 2365

原创 ERC721代码详解

ERC-721是非同质化代币(Non-Fungible Token,缩写为NFT)的标准接口。ERC-721在2017年底首先被CryptoKitties游戏所使用,CryptoKitties的火爆让人们意识到了ERC-721的重要价值。ERC-721是非同质化代币,也就意味着每个Token都是不一样的,都有自己的唯一性和独特价值,当然这也就意味着它们是不可分割的,也同时具有了可追踪性。ERC-7...

2018-10-31 11:16:11 11803 2

原创 交叉验证(Cross Validation)

为了评估模型,我们需要在测试集运行模型,因为在训练集上表现优秀的模型可能会出现过拟合。但如果我们使用测试集去调整模型的参数,优化模型的话会让我们的模型学习到测试集的信息,这是不符合实际的,因为测试集对应的是我们待预测的数据集,是未知的,这个时候我们就需要从训练集中分割出一部分作为验证集来优化调整我们的模型,避免过拟合。但这样又会导致我们的数据集不够,交叉验证可以用来解决数据不够的问题。 C...

2018-10-19 16:16:00 473

翻译 S/Kademlia:实现安全Key路由的可行方法

摘要安全性是完全分散式P2P系统中的常见问题。 尽管关于如何创建一个安全的基于Key的路由协议存在几点建议,但一个可行的方法仍然无人参与。 在本文中,我们介绍一种基于Kademlia的安全Key路由协议,该协议通过在多条不相交的路径上使用并行查找来抵抗常见攻击,用隐式密码来限制自由节点ID生成,并引入可靠的兄弟广播。 后者需要以安全复制的方式存储数据。 我们分析评估了我们提出的Kademlia...

2018-09-25 16:18:42 1163

原创 以太坊无效区块

以太坊的出块时间控制在10-19s之间,为什么是这个数而非其他数值呢?为什么要让时间差恒定,而不让难度值恒定呢? 我们假设难度值恒定的话,那么在网络算力充足的时候,很幸运,很快就会有电脑发现满足要求的随机数,用户的交易确认就会很快。但当网络算力不足的时候,找到那个对的随机数就会需要较长的时间,那么用户也需要等待较长的时间来确定交易。这类系统延迟不确定的特点肯定很难受到用户的青睐,因为用户总...

2018-08-19 20:43:14 3963

原创 以太坊的共识机制

在开始之前,我们补充一点基础知识。 第一个概念是哈希。简单理解,哈希是一个函数。它的作用是将任意长度的数据作为输入,转变为固定长度的一个字符串作为输出。这个函数有两个主要特点:过程不可逆 对输入做微小改动,输出就会完全不一样。哈希函数有好多种,但都满足上面的特点。几乎任何加密货币都会用到哈希算法,以太坊采用的哈希算法是ethash算法。 第二个补充知识是,以太坊的区块结构。...

2018-08-13 14:50:49 11092

原创 常见的区块链共识机制

在区块链网络中,记录的信息一般都是些有价值的交易信息,涉及到经济利益,所以会出现拜占庭节点。拜占庭节点指的是那些恶意篡改数据或者散播假消息的节点。为什么叫拜占庭节点呢。话说中世纪的时候,有个帝国叫拜占庭帝国,就是现在的土耳其那,拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久。但拜占庭城防坚固,兵精粮足,没有一个单独的邻邦能够成功入侵,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。那么问题是...

2018-08-13 14:32:54 1917

原创 以太坊solidity语言编译常见错误类型

错误类型说明: JSONError:JSON错误,JSON输入不符合要求的格式,例如输入不是JSON对象,不支持语言,等等。 IOError:IO错误,IO和导入处理错误,如提供的源中的不可解析URL或hash不匹配。 ParserError:语法分析错误,源代码不符合语言规则。 DocstringParsingError:文档解析错误,无法解析注释块中的NATSPEC标记。 SytR...

2018-07-22 20:14:03 1527

翻译 以太坊开发完整入门篇

从入门到精通,干货篇。必读,如果你:是一个专业的程序员如果你想了解以太坊当前可以做到什么程度,通过什么,如何做到。预备知识:你需要知道区块链的概念及实现一个无需信任的电子货币的运作原理。可以先看看长版,如果你觉得太长,可以看看短版。但我还是建议,看那个长的视频。如果你是一名软件工程师,拥有软件开发的经验。能知道从系统、架构角度学一个东西,其实能倍增学习效果。如果有一周的空闲时间。好了,下面开始就不...

2018-07-08 11:13:17 706

转载 通俗理解“回调函数”

我们先来看看回调的英文定义:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。字面上的理解,回调函数就是一个参数,将这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的...

2018-06-24 20:42:26 115219 69

原创 go-ipfs命令详解之swarm

在ipfs网络中,swarm是一个组件,它用于打开、监听和维持与一个节点的连接。Swarm命令就是用来操作swarm组件的。基本格式如下:ipfs swarm [子命令]其中子命令有5个,分别是:1.addrs   列出已知地址,debug时很有用      子命令local和listen用于列出本地和监听的地址。--id bool 以地址方式列出节点,缺省false2. connect <...

2018-06-13 21:43:20 3108

原创 go-ipfs命令详解之bootstrap

在ipfs网络中,当我们想连接到其他节点的时候,我们经历的是这样一个过程:我们先是连接到一些我们“信得过”的节点,然后再通过这些“信得过”的节点逐步去连接我们的目标节点。这些“信得过”的节点,我们叫bootstrap。Bootstrap命令就是操作这些bootstrap的。必须强调的是,新增和删除bootstrap节点要非常谨慎,你必须非常了解你正在做的操作,不然可能会导致让你连接到一些恶意节点,...

2018-06-12 22:11:42 1597 1

原创 go-ipfs命令详解之id、ping

本文介绍两个涉及网络的比较简单的命令,分别是id和ping。ipfs id <peerID>  展示ipfs节点id信息选项-f,有如下五个值,分别是:<id> 节点id<aver> 客户端版本<pver> 协议版本<pubkey> 公钥<addrs> 地址 ipfs ping <peerID> 向某个节点发送响应

2018-06-11 21:21:06 1524

原创 go-ipfs命令详解之dht

我们知道,ipfs网络运用了分布式哈希表(DHT)来存储网络节点的元数据,ipfs具体采用的DHT叫做S/Kad,关于这个我们后续会详细介绍。本次的dht命令就是用来操作dht的。基本格式如下:ipfs dht [子命令]其中子命令有6个,分别是:1.findpeer  <peerID>  查询DHT中与给定peerID关联的地址      -v bool 打印额外信息,缺省false...

2018-06-10 19:58:22 2332 3

原创 go-ipfs命令详解之files

我们知道,在ipfs网络上大家上传的每一个文件都是一个object对象。那么files命令就是一个API,它把object对象当做unix文件系统格式来操作。基本格式如下:ipfs files [子命令]其中子命令有10个,其中大多数都支持—flush选项,默认是true。当你想把它设置为false的时候要特别注意,虽然能提高系统表现,但如果后台进程意外退出,有可能丢失数据。10个子命令分别是:1...

2018-06-09 21:05:03 1920

原创 go-ipfs命令详解之object

我们知道,在ipfs网络上大家上传的每一个文件都是一个object,它是一种DAG数据类型的对象,关于DAG我们后续会详细介绍。那今天聊的object命令就是用来与ipfs上的DAG对象进行交互的。基本格式如下:ipfs object [子命令]其中子命令有8个,分别是:1. data  输出一个对象的数据部分的原始字节,stdout      由于输出的是原始数据,所以—encoding选项不影...

2018-06-06 09:43:06 1133

原创 go-ipfs命令详解之block

我们已经知道,如果上传到ipfs网络中的某个文件大小超过设定的大小(默认为256k),系统就会把这个文件分割成一个个的块(block)分开存储。block命令就是用来操作这些块的。大家要注意将这里的块和区块链中的块区别开来。Block命令格式如下:ipfs block 子命令子命令有四个get <hash>取回并显示某个块的内容,标准输出put <file>将某个文件存入一...

2018-06-01 14:15:43 1567 1

原创 go-ipfs命令详解之cat,get,ls,refs

一、Catcat命令用于显示ipfs网络中的一个文件内容,注意显示的是字节形式。格式如下:ipfs cat [选项] 文件hash选项有两个-o int显示时去掉前面的int个字节-l int 总共显示int个字节如下所示: 二、getget命令用于下载ipfs网络中的一个文件到本地。格式如下:ipfs get [选项] 文件hash选项有四个-o path本地保存路径-a 保存为.tar格式的压...

2018-05-31 10:10:48 2770

原创 go-ipfs命令详解之add

add命令用于向ipfs网络添加一个文件或文件夹。基本用法:Ipfs add  [选项]  路径主要的选项有:-r  递归选项,用于添加文件夹-q  添加成功后简化输出-w  将文件或文件夹再打包成一个文件夹-H  添加隐藏文件,跟-r一起使用-s  规定如何切割待添加的文件-t  用trickle-dag的形式生成dag--pin 如果不想将自己上传的文件保留在本地,可以使用—pin=false...

2018-05-30 15:19:24 2411

原创 go-ipfs在windows系统上的安装

go-ipfs 是Go语言实现的ipfs的官方客户端。除此之外,还有用java,python等其他语言写的客户端版本,但目前还没有完成。通过go-ipfs可以实现绝大多数的ipfs的命令和功能,而且它是偏底层的实现,对于想了解技术原理的老铁们是很有必要学习的。那咱们就先从安装它开始。主流安装方法有三种,分别是通过预安装包安装、通过ipfs-update工具安装和通过源码安装,三种方法由易到难,视自...

2018-05-30 15:15:18 2409

原创 以太坊客户端加快同步的一种方法

有个EthFans 发起的星火节点计划,它组织国内对以太坊项目感兴趣的组织和个人自愿运行超级节点,我们只要将这些超级节点的信息配置到我们的以太坊中,作用就是每次我们自己的节点就能连接到配置好的这些节点上,就能明显加快同步速度。以太坊常见客户端有mist,geth等,虽然客户端多种多样,但存储数据的位置都是一样的,我们可以用--datadir选项自定义数据存储的位置,各不同的操作系统默认的存储路径如...

2018-05-24 14:47:40 3530

原创 Ethash DAG(以太坊ethash算法的数据集)

大家平时在玩 以太坊geth的时候,经常会看到Ethash DAG,比如“Disk storage enabled for ethash DAGs”,就是说允许Ethash DAG存储在磁盘中,那么它到底是什么东东?Ethash是PoW系统,它需要一个大约1GB的数据集,它就是DAG。这通常需要几个小时才能生成,所以我们倾向于在硬盘中存储它。希望将DAG存储在硬盘中的客户端应符合下面的规范,以便与...

2018-05-24 13:45:28 5059

原创 virtualbox虚拟机与宿主机之间的文件共享

虚拟机: oracle virtualbox虚拟机系统:kali宿主机系统:windows步骤1:虚拟机管理器上添加共享文件夹注意:此处共享文件夹路径是指宿主机上的文件夹步骤2:在虚拟机上挂载共享文件终端格式:sudo mount -t vboxsf 共享文件夹名称(在设置页面设置的)  想要挂载的目录比如:sudo mount -t vboxsf vmshare /home/vm/shared搞...

2018-05-19 21:12:22 2621

原创 U盘安装Kali系统,无法探测并挂载光盘问题的解决

背景:在物理机上安装kali,该物理机无物理光驱网上说了很多,比如用umount解除U盘的错误挂载,或者重新插拔U盘,或者换插口插U盘等等,但其实有一个问题如果没解决,那上述工作都是徒劳。这个关键问题就是:你的U盘中的系统文件,必须是由 Win32DiskImager 这个软件刻录进去的。...

2018-04-26 14:05:18 19697 5

原创 决策树和信息熵

有没有玩过或听过这样一个游戏:参与游戏的一方在脑海里想好某个事物,然后其他参与者向他提问,回答者只能回答是还是不是。问问题的人通过答案推理,不断缩小待猜事物的范围。其实上面的过程就类似于决策树的工作原理。就像上面那个游戏,关键点在于如何问问题,那决策树的关键,就在于如何划分数据集。划分数据集的大原则就是:将无序的数据变得更加有序。那用什么衡量有序和无需呢?就是信息熵。要说信息熵,先说说信息量。信息...

2018-03-22 11:00:13 1581

空空如也

空空如也

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

TA关注的人

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