epoch

Zookeeper——一致性协议:Zab协议

无人久伴 提交于 2020-08-12 08:02:07
Reference: https://www.jianshu.com/p/2bceacd60b8a 什么是Zab协议 Zab 协议的作用 Zab 协议原理 Zab 协议核心 Zab 协议内容 原子广播 崩溃恢复 如何保证数据一致性 Zab 协议如何数据同步 如何处理需要丢弃的 Proposal Zab 协议实现原理 选主过程 什么是Zab协议? Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。 Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性 。 Zab协议是为分布式协调服务Zookeeper专门设计的一种 支持崩溃恢复 的 原子广播协议 ,是Zookeeper保证数据一致性的核心算法。Zab借鉴了Paxos算法,但又不像Paxos那样,是一种通用的分布式一致性算法。 它是特别为Zookeeper设计的支持崩溃恢复的原子广播协议 。 在Zookeeper中主要依赖Zab协议来实现数据一致性,基于该协议,zk实现了一种主备模型(即Leader和Follower模型)的系统架构来保证集群中各个副本之间数据的一致性。 这里的主备系统架构模型,就是指只有一台客户端(Leader)负责处理外部的写事务请求,然后Leader客户端将数据同步到其他Follower节点。 Zookeeper 客户端会随机的链接到

V-Net(2.5D卷积)网络训练---Keras

五迷三道 提交于 2020-08-12 02:08:44
V-Net(2.5D卷积)网络训练 然后,在服务器中训练网络 2.5D网络程序 1 import keras 2 from keras.models import * 3 from keras.layers import Input, Conv3D, Deconvolution3D, Dropout, Concatenate 4 from keras.optimizers import * 5 from keras import layers 6 from keras import backend as K 7 8 from keras.callbacks import ModelCheckpoint 9 from fit_generator import get_path_list, get_train_batch 10 import matplotlib.pyplot as plt 11 12 train_batch_size = 1 13 epoch = 10 14 15 16 data_train_path = " ./vnet_3_1_input/train " 17 data_label_path = " ./vnet_3_1_input/label " 18 train_path_list, label_path_list, count = get_path_list

Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)

我的梦境 提交于 2020-08-11 20:55:57
文章目录    一、项目背景    二、数据处理      1、标签与特征分离      2、数据可视化      3、训练集和测试集    三、模型搭建    四、模型训练    五、完整代码 一、项目背景 数据集cnn_train.csv包含人类面部表情的图片的label和feature。在这里,面部表情识别相当于一个分类问题,共有7个类别。 其中label包括7种类型表情: 一共有28709个label,说明包含了28709张表情包嘿嘿。 每一行就是一张表情包48*48=2304个像素,相当于4848个灰度值(intensity)(0为黑, 255为白) 二、数据处理    1、标签与特征分离     这一步为了后面方便读取数据集,对原数据进行处理,分离后分别保存为cnn_label.csv和cnn_data.csv. # cnn_feature_label.py 将label和像素数据分离 import pandas as pd path = ' cnn_train.csv ' # 原数据路径 # 读取数据 df = pd.read_csv(path) # 提取label数据 df_y = df[[ ' label ' ]] # 提取feature(即像素)数据 df_x = df[[ ' feature ' ]] # 将label写入label.csv df_y.to

使用tensorflow实现LR

纵饮孤独 提交于 2020-08-11 20:28:24
使用tf实现LR. import tensorflow as tf import numpy as np tf.reset_default_graph() # 清空Graph FEATURE_NUM = 8 # 特征数量 with tf.name_scope("input"): x = tf.placeholder(tf.float32, shape=[None, FEATURE_NUM]) y = tf.placeholder(tf.int32, shape=[None]) with tf.name_scope("lr"): weight_init = tf.truncated_normal(shape=[FEATURE_NUM, 1], mean=0.0, stddev=1.0) weight = tf.Variable(weight_init) bais = tf.Variable([0.0]) y_expand = tf.reshape(y,shape=[-1,1]) hypothesis = tf.sigmoid(tf.matmul(x, weight) + bais) with tf.name_scope("loss"): y_float = tf.to_float(y_expand) likelyhood = -(y_float tf.log(hypothesis)

Spring Boot 2.3.0 新特性Redis 拓扑动态感应

大憨熊 提交于 2020-08-11 07:31:52
本文为原创文章。欢迎任何形式的转载,但请务必注明出处 冷冷 https://lltx.github.io。 Spring Boot 2.3 新特性优雅停机详解 Spring Boot 2.3 新特性分层 JAR 本篇是 spring boot v2.3 系列第三篇,来分享一下 v2.3 关于 spring data redis 的故障转移优化。 背景 关于 Redis 在生产中我们一般情况下都会选择 redis cluster 高可用架构部署,既能保证数据分片并且实现节点的故障自动转移。 基本部署拓扑如下: 创建测试集群 这里通过我封装的 pig4cloud/redis-cluster:4.0 镜像,即可构建一个 6 个节点的 redis cluster 测试环境。 docker run --name redis-cluster -d -e CLUSTER_ANNOUNCE_IP=宿主机IP \ -p 7000-7005:7000-7005 -p 17000-17005:17000-17005 pig4cloud/redis-cluster:4.0 查看集群节点信息 ⋊> ./redis-cli -h 172.17.0.111 -p 7000 -c 16:09:48 172.17.0.111:7000> cluster nodes

【pytorch-ssd目标检测】训练自己创建的数据集

时光怂恿深爱的人放手 提交于 2020-08-11 00:15:21
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 代码来源:https://github.com/amdegroot/ssd.pytorch 拷贝下来的代码好多坑要踩。。。 我将其上传到谷歌colab上,当前目录结构如下: 需要说明的是,虽然我们只有2类,但是,要加上背景一类,所以总共我们有3类。 首先我们要读取自己的数据集 在config.py中 # config.py import os.path # gets home dir cross platform # HOME = os.path.expanduser("~") HOME = os.path.expanduser("/content/drive/My Drive/pytorch_ssd/") # for making bounding boxes pretty COLORS = ((255, 0, 0, 128), (0, 255, 0, 128), (0, 0, 255, 128 ), (0, 255, 255, 128), (255, 0, 255, 128), (255, 255, 0, 128 )) MEANS = (104, 117, 123 ) mask = { 'num_classes': 3, 'lr

面试官:用过 ZooKeeper 吗?基本原理你明白吗?

笑着哭i 提交于 2020-08-10 21:52:24
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! ZooKeeper 简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。 ZooKeeper 设计目的 最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。 可靠性:具有简单、健壮、良好的性能,如果消息m被到一台服务器接受,那么它将被所有的服务器接受。 实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。 等待无关(wait-free):慢的或者失效的client不得干预快速的client的请求,使得每个client都能有效的等待。 原子性:更新只能成功或者失败,没有中间状态。 顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。 ZooKeeper数据模型

ZooKeeper学习第一期---Zookeeper简单介绍

六眼飞鱼酱① 提交于 2020-08-10 18:28:48
一、分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这些进程全部是跑在一台机上的话,相对来说确实就好办了,问题就在于他是在一个分布式的环境下,这时问题又来了,那什么是分布式呢?这个一两句话我也说不清楚,但我给大家画了一张图希望能帮助大家理解这方面的内容,如果觉得不对尽可拍砖,来咱们看一下这张图,如图1.1所示。 图 1.1 分布式系统图 给大家分析一下这张图,在这图中有三台机器,每台机器各跑一个应用程序。然后我们将这三台机器通过网络将其连接起来,构成一个系统来为用户提供服务,对用户来说这个系统的架构是透明的,他感觉不到我这个系统是一个什么样的架构。那么我们就可以把这种系统称作一个 分布式系统 。 那我们接下来再分析一下,在这个分布式系统中如何对进程进行调度,我假设在第一台机器上挂载了一个资源,然后这三个物理分布的进程都要竞争这个资源,但我们又不希望他们同时进行访问,这时候我们就需要一个 协调器 ,来让他们有序的来访问这个资源

如何消灭飞机的“黑色十分钟”,AI来帮忙

萝らか妹 提交于 2020-08-10 18:27:58
近年来,“AI的应用和落地”逐渐成了具化的关键词,它和很多事物很多行业结合在一起,形成了奇妙的“化学反应”。例如,在日常生活中,AI可以推送我们喜欢的新闻或视频,可以在拍照的时候识别场景提升照片的美感……. 而今天笔者要说的,可能是从很多人都密切相关但大多很陌生的一个“神秘”的职业说起:机场塔台指挥中心。上海麦图信息科技有限公司,借助华为云ModelArts一站式开发与管理平台,开发出跑道防侵系统。 AI 给了我一双“慧眼” 在机场的每一架飞机起飞或者着陆,从飞机推离停机位到离开机场空域,或相反的降落过程中,背后都需要依靠管制员之间的协作。飞机起降的间隔非常短暂且风险大,有着“黑色十分钟”之说。管制员也被称为是飞行员背后的“眼睛”,对于他们的要求是非常严苛的,需要超长时间集中注意力,尤其在航班密集的时候,管制员需要在极短的时间内对复杂的情况,做出正确判断,这也让管制员们担负着极大的压力。对于普通乘客来说,这可能只是一次普通的空中之旅,但对于管制员来说,每一次飞机起停都伴随着重大责任。 “跑道侵入事件” 是所有管制员们的“噩梦”。飞机起降架次的增多,再加上恶劣天气的影响,跑道侵入事件已成为民航领域航空器地面安全运行的头等问题,跑道安全事故在民用航空事故中也占有很大的比例。然而,随着机场规模和航班密度增加,对于大型机场的塔台而言,单点视野物理受限,数字化程度提升的同时

【pytorch-ssd目标检测】训练自己创建的数据集

浪尽此生 提交于 2020-08-10 17:17:02
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 代码来源:https://github.com/amdegroot/ssd.pytorch 拷贝下来的代码好多坑要踩。。。 我将其上传到谷歌colab上,当前目录结构如下: 需要说明的是,虽然我们只有2类,但是,要加上背景一类,所以总共我们有3类。 首先我们要读取自己的数据集 在config.py中 # config.py import os.path # gets home dir cross platform # HOME = os.path.expanduser("~") HOME = os.path.expanduser("/content/drive/My Drive/pytorch_ssd/") # for making bounding boxes pretty COLORS = ((255, 0, 0, 128), (0, 255, 0, 128), (0, 0, 255, 128 ), (0, 255, 255, 128), (255, 0, 255, 128), (255, 255, 0, 128 )) MEANS = (104, 117, 123 ) mask = { 'num_classes': 3, 'lr