epoch

Ethereum 2.0 Meeting #43 | 以太坊 2.0 会议第43期

假装没事ソ 提交于 2020-10-02 05:15:21
会议: 以太坊2.0会议#43 会议日期: 2020 年7月9日 会议时长: 1 小时 会议视频链接: https://youtu.be/4IooxDX_GfU 会议日程: 1. 测试和版本更新 2. 测试网更新 3. 客户端更新 4. 应急响应 5. 关系到用户安全和用户体验的弱主观性 6. 研究更新 7. 网络侧更新 8. 规范讨论 9. 开放讨论/总结 会议主要内容: 1. 会议开始,主持人Danny先开始第一个议题,即 测试和版本更新 。Danny介绍说v12.2版本马上就要发布,并能完全向后兼容。现在主要做的就是在发布前再调试一下gossipsub的参数。 Proto 对团队的进展进行了介绍。其中,最重大的进展是上周发布了Rumor v2,里面包含了许多新的命令,并对脚本进行了优化。现在仍然在做一些类似同步命令的优化工作。Proto说针对Phase1的测试才刚开始,同时Python Eth2的规范同步在升级。他认为现阶段测试分叉选择实施方法的最佳方案是在Rumor上面测试,而不是之前大家认为的在每个不同的客户端上面开放接口来测试,所以他会准备一个Rumor教程给大家。Danny强烈推荐各个客户端团队都仔细地阅读这个教程。 Mehdi 介绍说上周更新了信标模糊测试,文字帖在同步准备。Docker化和信标模糊测试都完成了,这样用户就可以轻松地在家使用

迁移学习概论

流过昼夜 提交于 2020-10-02 00:38:43
作者|Muktha Sai Ajay 编译|VK 来源|Towards Data Science 介绍 作为人类,我们有能力将在一项任务中获得的知识迁移到另一项任务中去,任务越简单,利用知识就越容易。一些简单的例子是: 了解数学和统计学→学习机器学习 学会骑自行车→学骑摩托车 到目前为止,大多数机器学习和深度学习算法都是针对解决特定任务而设计的。如果分布发生变化,这些算法会再次被重建,并且很难重建和重新训练,因为它需要计算能力和大量的时间。 迁移学习是关于如何使用预训练好的网络,并将其应用到我们的定制任务中,将它从以前的任务中学到的知识进行迁移。 迁移学习我们可以采用VGG 16和ResNet等架构。这些架构经过了广泛的超参数调整,基于他们已经学到的,我们将这些知识应用到一个新的任务/模型中,而不是从头开始,这就是所谓的迁移学习。 一些迁移学习模型包括: Xception VGG16 VGG19 Resnet, ResnetV2 InceptionV3 MobileNet 应用迁移学习实现医学应用 在此应用程序中,我们将检测患者是否患有肺炎。我们使用Kaggle数据集进行分类。下面给出了数据集和代码的链接。 数据集链接 : https://www.kaggle.com/paultimothymooney/chest-xray-pneumonia 代码链接: https:/

Mxnet (3): Softmax 回归(Softmax regression)

强颜欢笑 提交于 2020-10-01 03:31:42
有一种logistic回归的一般形式,叫做Softmax回归,用于处理多类型的分类问题。 0.Softmax操作 我们将在此处采用的主要方法是将模型的输出解释为概率。我们将优化参数以产生使观察到的数据的可能性最大化的概率。然后,为了生成预测,我们将设置一个阈值,例如,选择具有最大预测概率的标签。 正式地说,我们想要任何输出 y ^ j \hat{y}_j y ^ ​ j ​ 被解释为给定项目属于类别的概率 j 。然后我们可以选择具有最大输出值的类别作为我们的预测 argmax ⁡ j y j \operatorname{argmax}_j y_j a r g m a x j ​ y j ​ . 。例如,如果 y ^ 1 \hat{y}_1 y ^ ​ 1 ​ , y ^ 2 \hat{y}_2 y ^ ​ 2 ​ , 和 y ^ 3 \hat{y}_3 y ^ ​ 3 ​ 分别为0.1、0.8和0.1。然后预测是第二类。 您可能会倾向于建议我们解释日志 o 直接作为我们感兴趣的输出。然而,将线性层的输出直接解释为概率存在一些问题。一方面,没有什么约束这些数字的总和为1。另一方面,取决于输入,它们可以取负值。 为了将我们的输出解释为概率,我们必须保证(即使在新数据上)它们也将是非负的并且总和为1。此外,我们需要一个训练目标来鼓励模型忠实地估计概率。在分类器输出0.5的所有实例中

ceph pg scrub 源码分析

萝らか妹 提交于 2020-09-30 07:44:29
ceph scrub介绍 scrub的调度 1.1 相关数据结构 1.2 scrub的调度实现 1.2.1 OSD::sched_scrub函数 1.2.2 PG::sched_scrub()函数 1.3 scrub资源预约消息转换 scrub的实现 2.1 相关数据结构 2.1.1 Scrubber 2.1.2 Scrubmap 2.2 Scrub的控制流程 2.2.1 chunky_scrub() 2.3 构建Scrubmap 2.3.1 build_scrub_map_chunk 2.3.2 PGBackend::be_scan_list 2.3.3 ReplicatedBackend::be_deep_scrub 2.4 从副本处理,构建scrubmap 2.5 副本对比 2.5.1 scrub_compare_maps 2.5.2 be_compare_scrubmaps 2.5.3 be_select_auth_object 2.6 结束scrub过程 ceph scrub介绍 ceph通过scrub保证数据的一致性,scrub 以PG 的chunky为单位,对于每一个pg,ceph 分析该pg下的所有object, 产生一个类似于元数据信息摘要的数据结构,如对象大小,属性等,叫scrubmap, 比较所有有副本的scrubmap,选出auth 对象,通过对比auth

高效使用Pytorch的6个技巧:为你的训练Pipeline提供强大动力

懵懂的女人 提交于 2020-09-30 01:04:19
作者:Eugene Khvedchenya 编译:ronghuaiyang 导读 只报告模型的Top-1准确率往往是不够的。 将train.py脚本转换为具有一些附加特性的强大pipeline 每一个深度学习项目的最终目标都是为产品带来价值。当然,我们想要最好的模型。什么是“最好的” —— 取决于特定的用例,我将把这个讨论放到这篇文章之外。我想谈谈如何从你的 train.py 脚本中得到最好的模型。 在这篇文章中,我们将介绍以下技巧: 用高级框架代替自己写的循环 使用另外的度量标准监控训练的进展 使用TensorBoard 使模型的预测可视化 使用Dict作为数据集和模型的返回值 检测异常和解决数值的不稳定性 免责声明 :在下一节中,我将引用一些源代码。大多数都是为[Catalyst]( https:// github.com/catalysts -team/catalyst)框架(20.08版)定制的,可以在pytorch-toolbelt中使用。 不要重复造轮子 建议1 — 利用PyTorch生态系统的高级训练框架 PyTorch在从头开始编写训练循环时提供了极佳的灵活性和自由度。理论上,这为编写任何训练逻辑提供了无限可能。在实践中,你很少会为训练CycleGAN、distilling BERT或3D物体检测从头开始实现编写训练循环。

10个算法从业人员必须知道的TensorFlow技巧

本小妞迷上赌 提交于 2020-09-28 18:04:36
作者:Rohan Jagtap 编译:ronghuaiyang 原文链接 https://mp.weixin.qq.com/s/dRDilU4m3psBPJn8ngIZVQ ​ mp.weixin.qq.com 导读 掌握这些可以更高效的模型的提高开发效率。 TensorFlow 2.x在构建模型和TensorFlow的整体使用方面提供了很多简单性。那么TF2有什么新变化呢? 使用Keras轻松构建模型,立即执行。 可在任何平台上进行强大的模型部署。 强大的研究实验。 通过清理过时的API和减少重复来简化API。 在本文中,我们将探索TF 2.0的10个特性,这些特性使得使用TensorFlow更加顺畅,减少了代码行数并提高了效率。 1(a). tf.data 构建输入管道 tf.data提供了数据管道和相关操作的功能。我们可以建立管道,映射预处理函数,洗牌或批处理数据集等等。 从tensors构建管道 >>> dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1]) >>> iter(dataset).next().numpy() 8 构建Batch并打乱 # Shuffle >>> dataset = tf.data.Dataset.from_tensor_slices([8, 3, 0, 8, 2, 1]

蘑菇街首页推荐视频流——增量学习与wide&deepFM实践(工程+算法)

随声附和 提交于 2020-09-24 06:03:10
欢迎关注我的公众号: 『诗品算法』 禁止一切未经本人 @ 琦琦许可的转载 一、楔子 害,写个这么严肃的技术话题还需要楔子么?这不是让大家放松一下嘛!毕竟是我的处女作,还是要来个看似一本正经的开场白和自我介绍的。 大家好,我是混迹于奋斗X之都——杭州的互联网大龄脱发女程序员一枚,大家可以关注我的公众号: “诗品算法” 。我会尽量保持每个月甚至每周更新一次的频率,在此立证(更新慢你也不能打我,只能用唾沫星子淹死我了哈哈)。 下面进入正题,带你领略蘑菇街有(坎)趣(坷)的从0到1的增量学习历程。 二、背景 在online deep learning炒得尤其火热的今天,我们知道,实时性就是互联网的生命和活力所在。笔者前几天跟一个阿里的朋友吃饭,朋友说,ODL现在是他们组最容易出成果的方向,众人愕然,ODL?哪篇论文里的?随即一拍大腿,原来是deep online learning。。。 试想,如果你刷抖音时,平台捕获到了你最近偏好旅行的即时兴趣,随即在很短时间内给你推荐了旅行相关的内容,你是不是会持续嗑药般地滑动下去?从而产生了心理学中所谓的无限“心流”,但我并不推崇这种类似沉迷游戏般的"心流",这种带有引号的“心流”仅仅是感官的愉悦,与精神的满足与自我的成就感无关,与至高的纯粹的甘美的快乐无关,与灵魂真正的安宁与幸福更是无关,因这并不会让你获得实质性的进步。扯远了

将OSS数据导入日志服务操作实践

孤街浪徒 提交于 2020-08-20 08:58:53
概述 对象存储服务(Object Storage Service,简称 OSS),是海量、安全、低成本、高可靠的云存储服务。OSS与日志服务相比,OSS存储的成本更低,不过日志服务中查询、结果展示、实时监控、数据加工等功能是OSS所不具备的。所以,可以将历史数据投递到OSS进行长期保存,SLS存储近期有查询分析需要的数据。 当历史数据有查询、分析需求时可以将OSS中的数据重新导入到SLS。 前提条件 已创建OSS Bucket,并将待导入的日志文件存储到OSS Bucket中,详情请参见 上传文件 。 已创建Project和Logstore,详情请参见 准备流程 。 已经完成 云资源访问授权 。 导入的OSS文件格式支持:JSON、CSV、Parquet、TEXT。 文件压缩格式支持:Gzip、Bzip2、Snappy,以及未压缩文件。 流程总览 检查导入日志服务的文件格式是否满足前提条件。 检查子账号是否有权限操作。主账号可以直接配置。 登陆 日志服务 配置OSS数据导入。 等待任务执行,查看数据及任务状态。 操作详情 测试导入的文件是之前从SLS发送到OSS的日志文件,bucket类型为标准存储。如果bucket是归档存储类型,建议提前解冻;在配置中也能进行解冻,不过解冻有一两分钟延迟,配置过程中解冻有可能误认为解冻不成功。 1. 检查OSS中待导入文件格式 在 oss控制台

Tensorflow函数式API的使用

白昼怎懂夜的黑 提交于 2020-08-20 05:41:22
在我们使用tensorflow时,如果不能使用函数式api进行编程,那么一些复杂的神经网络结构就不会实现出来,只能使用简单的单向模型进行一层一层地堆叠。如果稍微复杂一点,遇到了Resnet这种带有残差模块的神经网络,那么用简单的神经网络堆叠的方式则不可能把这种网络堆叠出来。下面我们来使用函数式API来编写一个简单的全连接神经网络: 首先导包: from tensorflow import keras import tensorflow as tf import pandas as pd import numpy as np import matplotlib.pyplot as plt 导入图片数据集:mnist (train_image,train_label),(test_image,test_label)=tf.keras.datasets.fashion_mnist.load_data() 归一化: train_image=train_image/255 test_image =test_image/255 # 进行数据的归一化,加快计算的进程 搭建全连接神经网络: input=keras.Input(shape=(28,28 )) x =keras.layers.Flatten()(input) # 调用input x=keras.layers.Dense(32