额外干饭人东方红波尔多发吧合法

2023-10-25 12:12

本文主要是介绍额外干饭人东方红波尔多发吧合法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#四层卷积神经网络模型结构代码
class Mnist_CNN(nn.Module):def __init__(self):super().__init__()self.conv1 = nn.Conv2d(in_channels=3, out_channels=32, kernel_size=5, stride=1, padding=2)self.pool1 = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)self.conv2 = nn.Conv2d(in_channels=32, out_channels=64, kernel_size=5, stride=1, padding=2)self.pool2 = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)self.conv3 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=5, stride=1, padding=2)self.pool3 = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)self.conv4 = nn.Conv2d(in_channels=128, out_channels=256, kernel_size=5, stride=1, padding=2)self.pool4 = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)self.fc1 = nn.Linear(4*4*256, 512)self.fc2 = nn.Linear(512, 10)def forward(self, inputs):tensor = inputs.view(-1, 3, 64, 64)tensor = F.relu(self.conv1(tensor))tensor = self.pool1(tensor)tensor = F.relu(self.conv2(tensor))tensor = self.pool2(tensor)tensor = F.relu(self.conv3(tensor))tensor = self.pool3(tensor)tensor = F.relu(self.conv4(tensor))tensor = self.pool4(tensor)tensor = tensor.view(-1, 4*4*256)tensor = F.relu(self.fc1(tensor))tensor = self.fc2(tensor)return tensorclass client(object):def __init__(self, trainDataSet, dev):self.train_ds = trainDataSetself.dev = devself.train_dl = Noneself.local_parameters = Nonedef localUpdate(self, localEpoch, localBatchSize, Net, lossFun, opti, global_parameters):# 加载当前通信中最新全局参数,传入网络模型,并加载global_parameters参数的Net.load_state_dict(global_parameters, strict=True)# 载入Client自有数据集# 加载本地数据self.train_dl = DataLoader(self.train_ds, batch_size=localBatchSize, shuffle=True)# 设置迭代次数for epoch in range(localEpoch):for data, label in self.train_dl:# 加载到GPU上data, label = data.to(self.dev), label.to(self.dev)# 模型上传入数据preds = Net(data)# 计算损失函数loss = lossFun(preds, label.to(torch.int64))# 反向传播loss.backward()# 计算梯度,并更新梯度opti.step()# 将梯度归零,初始化梯度opti.zero_grad()# 返回当前Client基于自己的数据训练得到的新的模型参数return Net.state_dict()def local_val(self):pass# 对所有的Client返回的参数累加(最后取平均值)if sum_parameters is None:sum_parameters = {}for key, var in local_parameters.items():sum_parameters[key] = var.clone()else:for var in sum_parameters:sum_parameters[var] = sum_parameters[var] + local_parameters[var]# 取平均值,得到本次通信中Server得到的更新后的模型参数for var in global_parameters:global_parameters[var] = (sum_parameters[var] / num_in_comm)# 定义损失函数loss_func = F.cross_entropy# 优化算法的,随机梯度下降法,使用Adam下降法opti = optim.Adam(net.parameters(), lr=args['learning_rate'])'''训练结束之后,我们要通过测试集来验证方法的泛化性,虽然训练时,Server没有得到过任何一条数据,但是联邦学习最终的目的还是要在Server端学习到一个鲁棒的模型,所以在做测试的时候,是在Server端进行的'''#  加载Server在最后得到的模型参数with torch.no_grad():net.load_state_dict(global_parameters, strict=True)sum_accu = 0lossall = 0num = 0# 载入测试集for data, label in tqdm(testDataLoader):data, label = data.to(dev), label.to(dev)preds = net(data)loss = loss_func(preds, label.to(torch.int64))preds = torch.argmax(preds, dim=1)sum_accu += (preds == label).float().mean()lossall += lossnum += 1print("\n"+'accuracy: {}'.format(sum_accu / num) +'loss: {}'.format(lossall / num))losslist.append(lossall / num)acclist.append(sum_accu / num)if (i + 1) % args['save_freq'] == 0:torch.save(net, './checkpoints/net_convid_model.h5')  # 保存完整模型torch.save(net.state_dict(), os.path.join(args['save_path'],'{}_num_comm{}_E{}_B{}_lr{}_num_clients{}_cf{}'.format(args['model_name'],i, args['epoch'],args['batchsize'],args['learning_rate'],args['num_of_clients'],args['cfraction'])))# 这里的clients_for client in tqdm(clients_in_comm):# local_parameters 得到客户端的局部变量local_parameters = myClients.clients_set[client].localUpdate(args['epoch'], args['batchsize'], net, loss_func, opti, global_parameters)

这篇关于额外干饭人东方红波尔多发吧合法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/282496

相关文章

合法的数字货币有哪些类型

合法数字货币的类型 一、常见的合法数字货币类型 比特币(Bitcoin,BTC):作为世界上第一个数字货币,由中本聪在 2009 年创造。其特点包括去中心化、匿名性和安全性较高,市值较高。以太坊(Ethereum,ETH):是一个开源的区块链平台,其代币以太币具有智能合约功能,在总量方面实践上无下限,每年会产生一定数量的以太币。莱特币(Litecoin,LTC):基于比特币协议,是比特币的

链表(篇4)链表中的最长回文序列长度(O(1)额外空间)

给定一个链表,找出该链表中存在的最长回文序列的长度。 例子: 输入:List = 2-> 3-> 7-> 3-> 2-> 12-> 24 输出:5 最长的回文是2-> 3-> 7-> 3-> 2 Input:List = > 4-> 4-> 3-> 14 输出:2 最长的回文为4-> 4 在求链表的最长回文序列的长度之前,先看看怎么求一个给定的链表是否是回文序列。 判断链表是否是

361_C++_在使用多数据的array、object类型的其中的JSON数据的时候,为何要额外进行一次CopyFrom拷贝操作

void RsMsgPushManage::SetPushInfo(const hl::json::Value &jvPushInfoArr){if (jvPushInfoArr.IsArray(

android AccessibilityService合法合规增加小红书曝光阅读量(2024-09-02)

免责任声明: 任何可操作性的内容与本人无关,文章内容仅供参考学习,如有侵权损害贵公司利益,请联系作者,会立刻马上进行删除。 一、分析 目前可增加曝光阅读流量渠道入口(完成) 1. 发现页 打开小红书app选择顶部发现页(完成) 2. 搜索页 打开小红书app点击右上角搜索,进入搜索结果页(完成) 3. 关注页 打开小红书app选择顶部关注页(完成) 4. 个人页 打开小红书app点击笔记

14、Django Admin的“Action(动作)”中添加额外操作

如图红框增加操作 将以下代码添加到HeroAdmin类中 actions = ["mark_immortal"]def mark_immortal(self, request, queryset):queryset.update(is_immortal=True) 修改后完整代码如下: @admin.register(Hero)class HeroAdmin(admin.Model

判断IP地址是否合法的函数

这个程序输入的是IP地址的字符串 bool strValid(string s) {if (s.length() > 3)return false;for (int i = 0;i < (int)s.length();i++) {int c = s.c_str()[i];if (!isdigit(c))return false;}}bool IsValidIP(char * ip){st

提示request请求不在合法域名列表中的解决方法

1.问题展示 出现该问题的主要原因在于微信出于安全性的考虑,要求微信小程序中所有用到的网络请求域名都必须是配置在微信公众平台的request合法域名中的,且必须是https协议的。 用于开发阶段,不涉及到发布上线,解决方案 可以在微信开发者工具中详情中勾选“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”,如图2所示。 用于发布上线阶段,解决方案 需要发布上

买卖合同、建设工程合同等合同中的“背靠背条款”合法有效吗?

“背靠背条款”在合同中通常指的是一种支付条款,即一方(如总承包商)只有在收到其上游方(如业主)支付的款项后,才向其下游方(如分包商或供应商)支付款项。这种做法在建设工程合同中较为常见,目的是为了转移资金支付风险。 智合同提供的合同智能应用可以实现全行业覆盖,针对各行业企业都可以提供相应节点的智能服务。 智合同-采用深度学习、自然语言处理技术、知识图谱等人工智能技术,为企业提供专业的合同相关的智

顶级干饭人,抢着给外卖平台交“入场费”

(图片来源于网络,侵删) 文 | 螳螂观察 作者 | 如意 00后“神枪少年”盛李豪在巴黎奥运会夺金,还打破了奥运会纪录之后,血液最为沸腾的竟是一帮干饭人。 为啥? 因为,盛李豪的网名竟然叫“光靠干饭就”。那干饭人可不得嗨起来嘛! 虽然盛李豪“光靠干饭就夺金”“光靠干饭就击败韩国队”,但夺冠后最想做的事竟是“吃家里的红烧肉”。 十几岁正是炫耀金牌的年纪,盛李豪却更想展

公司的内部培训合同违约金是否合法?

公司的内部培训合同违约金是合法的,法院在具体判断时会根据合同内容、事件经过、实际损失等方面进行综合评估。因此,在签订培训合同时,应让双方都清晰明确其违约责任,避免在实际执行过程中出现争议。同时,也提醒受益方合理规划培训时间,以避免因无法参加培训而引起的不必要的费用问题。   法律依据   《中华人民共和国劳动合同法》第二十二条   用人单位为劳动者提供专项培训费用,对其进行专业技术培训的,可以