链桨PaddleDTX系列-基本概念介绍
Posted 拚却醉颜红7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链桨PaddleDTX系列-基本概念介绍相关的知识,希望对你有一定的参考价值。
链桨PaddleDTX包含区块链、去中心化存储、隐私计算三大重要模块,为理解其运行原理,需先了解一些基本概念。
一、区块链相关概念
区块链:区块链可以理解为一种新型的分布式数据库,全网通过特定共识机制(如pow、pos、vrf等)对账本和交易等状态达成一致,区块链利用哈希等密码学机制,保证链上数据的不可篡改。所有区块链全节点都保存区块链完整数据信息,即便有一方篡改数据,也不会被其他节点承认。PaddleDTX支持XuperChain和Fabric作为底层区块链架构。
智能合约:智能合约是运行在区块链上,旨在以信息化方式传播、验证或执行合同的计算机协议。PaddleDTX中节点的去中心化治理、数据的副本保持证明机制、计算任务管理等都基于智能合约完成。
二、去中心化存储相关概念
PaddleDTX的存储网络有三类主要节点:
- 数据持有节点:数据的归属方,有存储数据的需求;
- 存储节点:有丰富的闲置的存储资源,可以提供存储服务;
- 区块链节点:构成区块链网络,基于不同的区块链框架,他们有不同的定义。
副本保持证明:为保证文件被存储节点安全存储且未被篡改,PaddleDTX采用了副本保持证明挑战和应答机制。数据持有方定期向存储节点发起数据完整性证明挑战,存储节点对挑战进行应答,整个流程记录在区块链上,并通过智能合约进行自动化验证。
文件迁移:为保证文件的安全和高可用,数据持有方会定期检查己方文件的健康状态,并将非健康的文件切片从不健康的存储节点迁移到健康节点,保证每个文件都处于健康且可随时恢复的状态。
健康度:PaddleDTX支持存储节点和文件的健康状态监控,保证系统的高可用
- 存储节点健康状态:存储节点健康状态根据节点的活跃度和副本保持证明应答成功比例来衡量,文件分发时会优先选择健康的存储节点;
- 文件健康状态:文件健康状态根据每个切片的健康状态来衡量,每个切片的健康状态由其所在的存储节点健康状态决定。
三、隐私计算相关概念
PaddleDTX的计算网络有三类主要节点:
- 计算需求节点:有训练模型和预测的需求;
- 任务执行节点:拥有使用数据的权限,参与多方安全计算,进行模型训练和数据预测;
- 区块链节点:构成区块链网络,基于不同的区块链框架,他们有不同的定义。
PaddleDTX网络中包含两种计算任务:
- 模型训练任务:通过训练得到目标模型;
- 预测任务:通过预测得到数据的目标值。
模型评估:PaddleDTX支持对训练得到的模型效果进行分布式评估,支持动态评估和静态评估两种模式
- 动态模型评估:动态评估伴随训练任务同时进行,在指定的训练阶段触发模型评估,并获得当前阶段训练结束后的评估指标。训练过程中可以获取每个阶段模型的评估结果,以此判断是否终止训练;训练任务结束时,可获得一系列评估指标,展示训练效果变化趋势。PaddleDTX支持随机划分的动态模型评估方式;
- 静态模型评估:静态评估在训练任务结束后进行,评估器会划分训练样本、创建并运行训练任务和对应的预测任务,最后计算评估指标。PaddleDTX支持随机划分、交叉验证和留一法三种静态评估方式。
数据集:PaddleDTX中的训练样本和预测数据集都是以文件的形式存储于中心化存储网络,在发布训练任务或者预测任务的时候,由计算需求节点指定。
PaddleDTX开源了三种机器学习算法:
- 多元线性回归:多元线性回归用来描述一个变量受多个因素影响,且他们的关系可以用多元线性方程表示的场景;
- 多元逻辑回归:多元逻辑回归模型是基于线性回归模型变化得到的,不同于多元线性回归,多元逻辑回归的目标特征值是离散的,通常定义为1,0,分别表示目标特征是否为指定值;
- 神经网络:神经网络是一种由大量的节点(或称为神经元)相互联接构成的运算模型,理论上可以逼近任意函数。
PaddleDTX对三种算法均进行了纵向联邦学习的改造,暂不支持横向联邦学习。
- 纵向联邦学习:参与方的样本重叠较多,而特征重叠较少。将样本按照纵向切分,取出各方样本相同而特征不同的那部分数据进行训练;
- 横向联邦学习:参与方的特征重叠较多,而样本重叠较少。将样本按照横向切分,取出各方特征相同而样本不同的那部分数据进行训练。
Git学习系列-Git基本概念
本系列基于Pro Git介绍如何使用Git进行源代码管理,以及后期如何使用Git进行项目管理。
系列初步目录如下:
1. Git基本概念
2. Git分支操作
后续待定。
Git的历史就不在这里进行介绍了,网上随处都可以找到,以下是在使用Git的时候的一些基本概念和方法
git config --global user.name "John Doe" git config --global user.email [email protected]
git config --list查看GIt的所有配置信息或是使用git config <key>来查看特定的信息
git init
1 git add *.c 2 git add README 3 git commit -m "initial project"
1 git status
git add 文件名 此时文件处于stage状态
git add 已修改的文件, 此时文件处于stage状态
git checkout — <文件名> 会将已经修改的文件但是并没有提交到缓冲区的文件重置为原来的状态
git reset HEAD <文件名> 或是 git reset <文件名>
- 所有空行或者以#开头的行都会被Git忽略;
- 可以使用glob模式匹配;
- 匹配模式可以以(/)开头防止递归;
- 匹配模式可以以(/)结尾指定目录;
- 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反
# no .a file *.a #but do track lib.a, even though you’re ignoring .a files above !lib.a # only ignore TODO file in the currency directory, not subdir /TODO /TODO #ignore all files in the build/ dictionary build/ #ignore doc/notes.txt, but not doc/server/arch.txt doc/*.txt #ignore all .pdf files in the doc/ directory dic/**/*.pdf
选项
|
说明
|
-p
|
按补丁形式显示每个更新之间的差异
|
--stat
|
显示每次更新的文件修改统计信息
|
--shortstat | 只显—stat中最后的行数修改添加移除统计 |
--name-only
|
仅在提交信息后显示已修改的文件清单 |
--name-status |
显示新增、修改、删除的文件清单
|
--abbrev-commit |
仅显示SHA-1的前几个字符,而非所有的40字符
|
--relative-date
|
使用较短的相对时间显示 |
--graph |
显示ASCII图形便是德分支合并历史
|
--pretty | 使用其他格式显示历史提交信息。可用的选项包括online、short、full、fuller和format |
git commit -m “Init Repo” git add forgotten_file git commit —amend
以上是关于链桨PaddleDTX系列-基本概念介绍的主要内容,如果未能解决你的问题,请参考以下文章