- 博客(37)
- 收藏
- 关注
翻译 Walle: An End-to-End, General-Purpose, and Large-Scale Production System forDevice-Cloud Collaborat
为行业内数百万乃至数十亿智能手机用户提供智能服务,主流范式是让移动设备通过原始数据发送请求,并在数据处理和模型执行后让云端返回结果。然而,这种范式遇到了三个主要瓶颈:(1) 高延迟:每个移动设备与云端之间的网络延迟加上云端的请求处理延迟以秒为单位,这对于一些实时交互应用来说是无法接受的。例如,计算机视觉(CV)、自然语言处理(NLP)和推荐任务的实际延迟要求在数百甚至数十毫秒;(2) 成本高、负载重:在设备端,如果没有Wi-Fi,上传原始数据会产生很高的蜂窝数据使用量。
2023-01-30 16:42:07
921
原创 Federated Learning of Multi-branch Networks from Periodically Shifting Distributions
在联合学习(FL)中,许多客户端在中央服务器的协调下,利用去中心化的数据协同训练机器学习模型(Kairouz等人,2019)。FL是为保护隐私而设计的:本地客户端的私有数据永远不会直接传输到服务器或与其他客户端共享,这遵循了数据最小化的原则,并使系统的攻击面保持较小(Wang等人,2021)。FL最初是为了在移动设备上进行分散式培训而引入的(McMahan等人,2017年),它已广泛应用于各种不同的应用,包括金融、健康、数字援助和个性化建议(参见一些最近的调查(Yang等人,2019年;
2023-01-14 22:18:04
392
原创 EncoderMI: Membership Inference against Pre-trainedEncoders in Contrastive Learning
对比学习是一种很有前途的通用人工智能方法。特别是,给定图像或(图像,文本)对的未标记数据集(称为预训练数据集),对比学习预训练图像编码器,该图像编码器可用作许多下游任务的特征提取器。给定图像编码器,下游任务只需要少量或不需要标记的训练数据。然而,编码器的预训练通常会消耗大量数据和计算资源。因此,通常情况下,强大的编码器提供商(例如 OpenAI、谷歌)会预训练编码器,然后向下游客户(例如资源较少的组织、最终用户)提供服务。
2022-12-25 22:58:07
468
原创 FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information
联邦学习很容易在中毒攻击上中招,恶意客户端通过向服务器发送恶意模型更新来毒害全局模型。现有的防御主要集中在通过健壮的联邦学习方法防止少量恶意客户端毒害全局模型,以及在恶意客户端大量存在时检测恶意客户端。然而,在检测到恶意客户端后,如何从中毒攻击中恢复全局模型仍然是一个开放的挑战。一个简单的解决方案是删除检测到的恶意客户端,并使用剩余的客户端从头训练一个新的全局模型。然而,这种从头开始的恢复方法会产生巨大的计算和通信成本,对于智能手机和物联网设备等资源受限的客户端来说,这可能是无法忍受的。 在这
2022-12-04 21:19:29
1395
3
原创 Multi-Threshold Byzantine Fault Tolerance (CCS 2021)
拜占庭容错(BFT)是分布式系统中的一个基本问题。它还作为区块链的算法基础,用于在相互不信任的组织之间复制账本。设计高效的BFT协议是当今的理论和实践兴趣。经典的BFT协议设计首先选择时序假设,通常从以下三种模型中选择:同步、异步或部分同步。同步BFT协议允许多达f < n或f< n/2个拜占庭式结点(取决于问题的变体),但在网络不同步时发生故障。异步或者部分同步BFT协议可以忍受网络的不同时性,但是最多允许f < n/3 个拜占庭式故障。..................
2022-08-28 16:56:26
1214
原创 BrokerChain: A Cross-Shard Blockchain Protocolfor Account/Balance-based State Sharding
先提了现在最先进的分片解决方案:Monoxide。说他能根据账户分配机制减少imbalanced transaction (TX)。
2022-06-03 01:08:00
4702
1
原创 关于人脸识别的一些细节
卷积神经网络(Keras)修改学习率:利用tensorflow的Keras模块我们可以建立我们自己定义的卷积神经网络模型,但是一般不会触碰到学习率这个问题,一般默认的学习率都是0.001dropout大致步骤,使用方法:dropout 是神经网络用来防止过拟合的一种方法,很简单,但是很实用。基本思想是以一定概率放弃被激活的神经元,使得模型更健壮,相当于放弃一些特征,这使得模型不过分依赖于某些特征,即使这些特征是真实的,当然也可能是假的。...
2022-03-26 00:05:02
846
原创 pat乙级 1030 完美数列
给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M≤mp,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(≤105)是输入的正整数的个数,p(≤109)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。输入样例:10 82 3 20 4 5 1 6 7 ...
2022-03-15 11:23:16
123
原创 map用法,大小写字符转换(pat乙级 1029 旧键盘)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线_(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。输入样例:..
2022-03-14 14:38:04
318
原创 pat乙级 1028 人口普查
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一行给出正整数N,取值在(0,105];随后N行,每行给出 1 个人的姓名(由不超过 5 个英文字母组成的字符串)、以及按yyyy/mm/dd(即年/月/日)格式给出的生日。题目保证最...
2022-03-13 09:23:32
185
原创 cout格式化输出宽度,sqrt开方(pat乙级 1027 打印沙漏 )
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成.
2022-03-12 11:54:05
372
原创 四舍五入函数round()(pat乙级 1026 程序运行时间 )
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用 clock(),获得一个时钟打点数 C1;在f执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2...
2022-03-11 14:23:03
212
原创 pat乙级 1024 科学计数法
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。输出格式:...
2022-03-10 11:21:25
119
原创 pat乙级 1023 组个最小数
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。输出格式:在一行中输出能够组.
2022-03-09 11:14:17
107
原创 pat乙级 1022 D进制的A+B
平平无奇一道题目,结果还是花了20分钟输入两个非负 10 进制整数A和B(≤230−1),输出A+B的D(1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数A、B和D。输出格式:输出A+B的D进制数。输入样例:123 456 8输出样例:1103有两点要说明一下:1.注意数组初始化时候的垃圾值,可能会输出你不想要的东西,比如输入0,0时,如果不对sum进行判断会输出82.数组初始化时候可以长一点,避免...
2022-03-09 10:52:36
119
原创 map用法与int转char(pat乙级 1021 个位数统计 )
好几天没练了,看到这道题第一反应就是用字典map,于是先建立了一串map,从0-9。很快把代码写完了,但是数据一直没变,然后发现我的map对是<char,int>,我遍历输出的是<int,int>,所以实际上是创建了一个新的键值对,所以输出就是01.map在使用时不用先声明有哪些key值,直接对key进行赋值就行,如果没有对应的key就会创建新的键值对。如:map[0]++如果已经有map【0】存在,那么他的value值+1如果不存在,那么创建map【0】,且v
2022-03-07 11:12:11
271
原创 在pycharm中测试opencv是否安装成功
import cv2import numpy as npimg = cv2.imread('D:/0.jpg', cv2.IMREAD_COLOR) #引号里面的图片地址自己改cv2.imshow("test_read_pic", img) #这里引号里面代表出来的框的标题cv2.waitKey(0)输入这串代码读取一个照片文件,如果能显示出来就说明成功了...
2022-03-02 15:47:45
6134
原创 pat乙级 1021 1020 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。...
2022-02-28 20:00:04
116
原创 标准格式输出,int与string的转换(pat乙级 1019 数字黑洞)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174... ...
2022-02-28 16:19:18
153
原创 cin与getline()的输入缓存问题(pat乙级 1015 石头剪子布)
现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数N(≤105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。输出格式:输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 个空格分隔。第 3 行给出两个字母,分别代表甲、乙获胜次数最多的手势,中间有 ...
2022-02-28 10:45:10
371
原创 pat乙级 1017 A除以B
这道题看上去不难却把我难住了,考的是人工计算除法和取余。本题要求计算A/B,其中A是不超过 1000 位的正整数,B是 1 位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。输入格式:输入在一行中依次给出A和B,中间以 1 空格分隔。输出格式:在一行中依次输出Q和R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 3#include...
2022-02-24 18:47:31
209
原创 pat乙级 1016 部分A+B
正整数A的“DA(为 1 位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A=3862767,DA=6,则A的“6 部分”PA是 66,因为A中有 2 个 6。现给定A、DA、B、DB,请编写程序计算PA+PB。输入格式:输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0<A,B<109。输出格式:在一行中输出PA+PB的值。输入样例 1:3862767 6 135302...
2022-02-22 15:22:18
87
原创 sort()排序(pat乙级 1015 德才论)
先上题目:输入格式:输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他达到最低线L的考...
2022-02-22 13:41:51
94
原创 pat乙级 1014 福尔摩斯的约会
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;第 2 对相同的字符是E,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写...
2022-02-13 15:12:49
82
原创 pat乙级 1013 数素数
1013 数素数 (20 分)令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101...
2022-02-11 11:01:47
417
原创 pat乙级 1012 数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和; A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯; A3= 被 5 除后余 2 的数字的个数; A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数...
2022-02-09 17:25:30
115
原创 pat乙级1011 A+B和C
给定区间 [−231,231] 内的 3 个整数A、B和C,请判断A+B是否大于C。输入格式:输入第 1 行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出Case #X: true如果A+B>C,否则输出Case #X: false,其中X是测试用例的编号(从 1 开始)。输入样例:41 2 32 3 42147483647 ...
2022-02-07 15:27:15
123
原创 pat乙级1009 说反话
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello/* * 1. .
2022-02-04 14:15:59
138
原创 pat乙级 1008 数组元素循环右移问题
#include <iostream>#include <string>#include <math.h>using namespace std;int main(){ int bit,count,i; cin>>count>>bit; int s[count]; bit = bit%count; for(i=0;i<count;i++){ cin>>s...
2022-01-29 15:37:13
96
原创 pat乙级 1007 素数对猜想
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。输入样例:20输出样例:4一开始打算把质数都存在数组里,然后查了下发现c语言的数组非常原始,不能随意加减,像一幢...
2022-01-29 11:48:29
184
原创 pat乙级1006 换个格式输出整数
让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例 1:234输出样例 1:BBSSS1234输入样例 2:...
2022-01-27 16:33:38
5847
原创 pat乙级1004 成绩排名
读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:.
2022-01-25 13:55:33
621
原创 pat乙级1003 我要通过
答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P、A、T这三种字符,不可以包含其它字符; 任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅由字母A组成的字符串; 如果aPbTc是正确的,那么aPbATca也是正确的,其中a、b、c均或者是空字符串,或者是仅由字母A...
2022-01-24 15:07:51
82
原创 pat乙级1002 写出这个数
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu...
2022-01-24 14:00:22
5398
原创 pat乙级1001 害死人不偿命的(3n+1)猜想
因为复试需要机试,而之前准备考研初试的一年期间一行代码都没写过,而c语言比起java,python又比较原始。所以一开始做pat的时候万分痛苦。
2022-01-24 11:33:35
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人