当前位置:首页 » 云服务器 » 几台服务器如何同步深度学习训练

几台服务器如何同步深度学习训练

发布时间: 2022-07-15 08:11:58

‘壹’ 两台服务器如何数据同步

用同步软件不就搞定了,省的瞎折腾了啊
我现在用的Bestsync2011同步软件,我觉得还蛮好用的,速度比较快,日志功能很强大,反正如果同步有任何错误,你能查看到每个文件的同步状态。
for example: 你可以把软件安装在服务器上,建立1个任务,来将这两台服务器进行实时同步。
1. 在主菜单里面点 编辑-->追加任务

文件夹1选择 服务器A需要同步的文件夹位置
文件夹2选择 服务器B需要同步的文件夹位置
方向为由文件夹2到文件夹1
然后选择 完成 按钮

在主菜单上,点选 开始 按钮, 这样, A与B上的文件就完全一致了。

2. 在任务列表中,双击你刚刚建立的这个任务,然后会弹出属性对话框

翻到 “日程” 那页
勾选上 “文件一旦变化,立即同步”这个选项
最后点击 确定 按钮

这样,只要服务器A的指定文件夹一旦变化,就实时同步到服务器B了以此类推
他们新浪微博上要好多教程,你不清楚可以去看那上的手册。。。

‘贰’ 如何让多台服务器实现数据同步

如何让所有服务器之间数据同步

1、采用高可用sureHA软件镜像型,一台主服务器,一台备服务器,通过网线实时将数据备份,实现服务器双机互备的功能,此方式保证多台服务器之间数据的一致性。

2、采用高可用sureHA双机热备共享型。一台主服务器,一台备服务器,链接一台存储,将数据放到存储里面,实现数据的共享。此方式保证多台服务器之间数据的一致性。

3、可实现服务器虚拟化,把所有的服务器物理资源都整理成一个大的资源池,数据都存放在磁盘阵列上面,所有应用系统都通过调用磁盘阵列里面的数据,此方式保证多台服务器之间数据的一致性。

不管技术怎么实现,在服务器方面还是需要人为的进行操作和监督,服务器同步也成为不可缺少的一部分。所以海腾数据的服务器的硬件要求和机房的线路稳定是保障以上实现的关键。参考海腾数据服务器租用

服务器数据同步

‘叁’ 两台数据库服务器 如何进行数据同步操作

这个要根据不同情况具体分析,有几种方案参考:

  1. 数据库A和数据库B是建立在两台独立的数据库服务器上,那么采用dblink方式是一种可行的方式,存在两个数据同步过程:

    一、数据库A正常运行的时候需要将数据同步到备用库即数据库B;

    二、数据库A不正常的时候启用数据库B,在数据库A恢复正常之前的数据更新都发生在数据库B,那么需要将数据库B的数据同步给数据库A。

  2. 第一种方式:前提是数据库A和数据库B本地网是24小时互通的同时对数据同步实时性有比较高的要求,那么可以建立DBLINK,在两个库都建触发器,不管当前在哪个库发生数据更新的时候实时同步数据到目标数据库;

  3. 第二种方式:如果数据同步的实时性要求不高,则可以通过定制存储过程的方式(给两个库的数据表加时间戳或者更新标志,)定时同步数据;

  4. 第三种方式:通过给两个数据库的数据表加更新标志字段,以第一种方式为主以满足实时性的要求,以第二种方式为辅弥补可能存在的触发器执行更新未成功的情况。

  5. 以上的方案都是从数据层面所做的处理,对于数据实时同步还是会存在一定的风险,那么双机热备应该说是最好的选择了。

‘肆’ 网站有多台服务器,怎么实现同步

1.首先域名并非直接解析到一个IP上,你可以网络下DNSPOD,就会明白,域名可以根据地域不通解析到不同的服务器IP上。
2.非常多的集群并不是你直接可以访问到的,你所访问到的只是前面一台入口服务器。这台服务器负责转发请求。它可以根据目前后端几台专业服务器的运行状态,将当前你所访问的用户的请求转发到一个比较健康的服务器上面去。这方面的软件有很多,比如Nginx,还有淘宝的Tengine,还有个专业叫LVS。
3.在后端的服务器上每台都放上我们的代码,然后坐等前面的入口转发给我们请求。如果接到请求,我们就进行响应,然后返回给入口,入口再返回给用户,最终呈现在你面前。
4.另外,用户上传的图片之类的动态文件,要么就专门放在文件服务器上,一般需要独立的域名,如http://img1.xxx.com等等,要么就使用Rsync进行实时同步。

‘伍’ 把数据库放在两台服务器上面,请问如何才能实现两台服务器的数据同步

  1. SQL Server 复制:事务发布

  2. 配置发布服务器,

  3. 快照发布:隔一段时间会覆盖订阅服务器的数据库,在订阅服务器上做的修改同样被覆盖;

  4. 事务发布:是一种接近实时地从源到目标分发数据的方法;

  5. 具有可更新订阅的事务发布:订阅服务器可更新发布服务器的数据;

  6. 合并发布:发布服务器和订阅服务器的更新都会同步到对方,注意ID在合并发布上的冲突

  7. 1. 在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访),打开1433端口,在防火墙中设置入站规则;

  8. 2. 发布服务器与订阅服务器的SQL Server Agent代理帐号必须设置的一样,否则不能互访;

  9. 3. 如果你希望在复制的过程中一并复制非聚集索引,可以对发布属性-项目进行如下设置,修改完之后需要重新生成快照;

‘陆’ 如何实现二台服务器内容的同步!

双线智能解析是针对目前电信与网通互联互通的问题推出的一种DNS解决方案。具体实现的效果是:把同样的域名如
http://www.winiis.com
,网通的客户访问会返回一个指向网通服务器的IP地址,
电信的客户访问会指向一个电信服务器的IP地址。通过这种方式,尽量避免网通的客户去访问电信的网络,
以及电信的客户去访问网通的网络。
双线智能DNS解析的用途:
1、双线路机房:
服务本身有两个IP,一个电信IP,一个网通IP。
2、镜象网站;
在网通及电信的机房放置多个相同的镜象站点,
让不同的地方客户访问不同的站点。
3、负载均衡:
对于流量比较大的网站,可以通过该功能把流量分配到几台不同的服务器上,以提高网站的运行速度。
4、个性化站点服务:
比如通过IP表的重新定义,
让国外的客户自动访问英文版的网站;
让国内的客户自动访问中文版的网站。
我们公司现有推出这种系统,网址是http;//
www.winiis.com

http;//
www.winiis.com/winmydns.asp

参考资料:http;//
www.winiis.com/winmydns.asp

‘柒’ 两台服务器的数据同步如何实现

1.安装CentOS7.0yum install ssh 安装SSH协议yum install rsync (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件)service sshd restart 启动服务任务

‘捌’ 我在买两台服务器怎么做到两台服务器网站数据同步

不管是否是微服务架构,应用的各个模块之间都需要频繁的通信、协作、共享数据,实现系统的整体价值。区别点在于单体应用是通过本地方法调用来完成;在微服务中是通过远程API调用完成。
而共享数据最贱的方式就是采用共享数据库模式,也就是单体应用中最常用的方式,一般只有一个数据库,如图一库多服和一库一服的方式:

一库多服的架构模式通常会被认为是微服务架构下的反范式,它的问题在于:

稳定性:单点故障,一个数据库挂掉,整批服务全部停止。服务独立性被扼杀?

耦合性:数据在一起,会给贪图方便的开发或者DBA工程师编写很多数据间高度依赖的程序或者工具;

扩展性:无法针对某一个服务进行精准优化或扩展,服务会大体分为两个读多写少、写多读少,数据库优化是根据服务而来的,不是一篇而论。

所以随行付内部一般推荐的做法:是为每一个微服务准备一个单独的数据库,即一库一服模式。这种模式更加适合微服务架构,它满足每一个服务是独立开发、独立部署、独立扩展的特性。当需要对一个服务进行升级或者数据架构改动的时候,无须影响到其他的服务。需要对某个服务进行扩展的时候,也可以手术式的对某一个服务进行局部扩容。

那么问题来了,在改造中我们发现,以下问题,诞生了该项目:

报表中心和前端详细页都存在SQL Join方式,经历我们一库一服的拆分后,无法在继续使用SQL Join方式了...
数据中心,做得是数据聚合,数据拆分后,给数据中心带来了很大的麻烦...
微服务之后,各个应用模块对数据库的要求出现了分歧,数据库类型多元化自主选择还是统一...
等等...

‘玖’ 如何在后台部署深度学习模型

搭建深度学习后台服务器

我们的Keras深度学习REST API将能够批量处理图像,扩展到多台机器(包括多台web服务器和Redis实例),并在负载均衡器之后进行循环调度。

为此,我们将使用:

  • KerasRedis(内存数据结构存储)

  • Flask (python的微web框架)

  • 消息队列和消息代理编程范例

  • 本篇文章的整体思路如下:

    我们将首先简要讨论Redis数据存储,以及如何使用它促进消息队列和消息代理。然后,我们将通过安装所需的Python包来配置Python开发环境,以构建我们的Keras深度学习REST API。一旦配置了开发环境,就可以使用Flask web框架实现实际的Keras深度学习REST API。在实现之后,我们将启动Redis和Flask服务器,然后使用cURL和Python向我们的深度学习API端点提交推理请求。最后,我们将以对构建自己的深度学习REST API时应该牢记的注意事项的简短讨论结束。

    第一部分:简要介绍Redis如何作为REST API消息代理/消息队列

    测试和原文的命令一致。


    第三部分:配置Python开发环境以构建Keras REST API

    文章中说需要创建新的虚拟环境来防止影响系统级别的python项目(但是我没有创建),但是还是需要安装rest api所需要依赖的包。以下为所需要的包。


    第四部分:实现可扩展的Keras REST API

    首先是Keras Redis Flask REST API数据流程图

    让我们开始构建我们的服务器脚本。为了方便起见,我在一个文件中实现了服务器,但是它可以按照您认为合适的方式模块化。为了获得最好的结果和避免复制/粘贴错误,我建议您使用本文的“下载”部分来获取相关的脚本和图像。

    为了简单起见,我们将在ImageNet数据集上使用ResNet预训练。我将指出在哪里可以用你自己的模型交换ResNet。flask模块包含flask库(用于构建web API)。redis模块将使我们能够与redis数据存储接口。从这里开始,让我们初始化将在run_keras_server.py中使用的常量.


    我们将向服务器传递float32图像,尺寸为224 x 224,包含3个通道。我们的服务器可以处理一个BATCH_SIZE = 32。如果您的生产系统上有GPU(s),那么您需要调优BATCH_SIZE以获得最佳性能。我发现将SERVER_SLEEP和CLIENT_SLEEP设置为0.25秒(服务器和客户端在再次轮询Redis之前分别暂停的时间)在大多数系统上都可以很好地工作。如果您正在构建一个生产系统,那么一定要调整这些常量。

    让我们启动我们的Flask app和Redis服务器:


    在这里你可以看到启动Flask是多么容易。在运行这个服务器脚本之前,我假设Redis服务器正在运行(之前的redis-server)。我们的Python脚本连接到本地主机6379端口(Redis的默认主机和端口值)上的Redis存储。不要忘记将全局Keras模型初始化为None。接下来我们来处理图像的序列化:


    Redis将充当服务器上的临时数据存储。图像将通过诸如cURL、Python脚本甚至是移动应用程序等各种方法进入服务器,而且,图像只能每隔一段时间(几个小时或几天)或者以很高的速率(每秒几次)进入服务器。我们需要把图像放在某个地方,因为它们在被处理前排队。我们的Redis存储将作为临时存储。

    为了将图像存储在Redis中,需要对它们进行序列化。由于图像只是数字数组,我们可以使用base64编码来序列化图像。使用base64编码还有一个额外的好处,即允许我们使用JSON存储图像的附加属性。

    base64_encode_image函数处理序列化。类似地,在通过模型传递图像之前,我们需要反序列化图像。这由base64_decode_image函数处理。

    预处理图片


    我已经定义了一个prepare_image函数,它使用Keras中的ResNet50实现对输入图像进行预处理,以便进行分类。在使用您自己的模型时,我建议修改此函数,以执行所需的预处理、缩放或规范化。

    从那里我们将定义我们的分类方法


    classify_process函数将在它自己的线程中启动,我们将在下面的__main__中看到这一点。该函数将从Redis服务器轮询图像批次,对图像进行分类,并将结果返回给客户端。

    在model = ResNet50(weights="imagenet")这一行中,我将这个操作与终端打印消息连接起来——根据Keras模型的大小,加载是即时的,或者需要几秒钟。

    加载模型只在启动这个线程时发生一次——如果每次我们想要处理一个映像时都必须加载模型,那么速度会非常慢,而且由于内存耗尽可能导致服务器崩溃。

    加载模型后,这个线程将不断轮询新的图像,然后将它们分类(注意这部分代码应该时尚一部分的继续)


    在这里,我们首先使用Redis数据库的lrange函数从队列(第79行)中获取最多的BATCH_SIZE图像。

    从那里我们初始化imageIDs和批处理(第80和81行),并开始在第84行开始循环队列。

    在循环中,我们首先解码对象并将其反序列化为一个NumPy数组image(第86-88行)。

    接下来,在第90-96行中,我们将向批处理添加图像(或者如果批处理当前为None,我们将该批处理设置为当前图像)。

    我们还将图像的id附加到imageIDs(第99行)。

    让我们完成循环和函数

    在这个代码块中,我们检查批处理中是否有图像(第102行)。如果我们有一批图像,我们通过模型(第105行)对整个批进行预测。从那里,我们循环一个图像和相应的预测结果(110-122行)。这些行向输出列表追加标签和概率,然后使用imageID将输出存储在Redis数据库中(第116-122行)。

    我们使用第125行上的ltrim从队列中删除了刚刚分类的图像集。最后,我们将睡眠设置为SERVER_SLEEP时间并等待下一批图像进行分类。下面我们来处理/predict我们的REST API端点


    稍后您将看到,当我们发布到REST API时,我们将使用/predict端点。当然,我们的服务器可能有多个端点。我们使用@app。路由修饰符以第130行所示的格式在函数上方定义端点,以便Flask知道调用什么函数。我们可以很容易地得到另一个使用AlexNet而不是ResNet的端点,我们可以用类似的方式定义具有关联函数的端点。你懂的,但就我们今天的目的而言,我们只有一个端点叫做/predict。

    我们在第131行定义的predict方法将处理对服务器的POST请求。这个函数的目标是构建JSON数据,并将其发送回客户机。如果POST数据包含图像(第137和138行),我们将图像转换为PIL/Pillow格式,并对其进行预处理(第141-143行)。

    在开发这个脚本时,我花了大量时间调试我的序列化和反序列化函数,结果发现我需要第147行将数组转换为C-contiguous排序(您可以在这里了解更多)。老实说,这是一个相当大的麻烦事,但我希望它能帮助你站起来,快速跑。

    如果您想知道在第99行中提到的id,那么实际上是使用uuid(通用唯一标识符)在第151行生成的。我们使用UUID来防止hash/key冲突。

    接下来,我们将图像的id和base64编码附加到d字典中。使用rpush(第153行)将这个JSON数据推送到Redis db非常简单。

    让我们轮询服务器以返回预测

    我们将持续循环,直到模型服务器返回输出预测。我们开始一个无限循环,试图得到157-159条预测线。从这里,如果输出包含预测,我们将对结果进行反序列化,并将结果添加到将返回给客户机的数据中。我们还从db中删除了结果(因为我们已经从数据库中提取了结果,不再需要将它们存储在数据库中),并跳出了循环(第163-172行)。

    否则,我们没有任何预测,我们需要睡觉,继续投票(第176行)。如果我们到达第179行,我们已经成功地得到了我们的预测。在本例中,我们向客户机数据添加True的成功值(第179行)。注意:对于这个示例脚本,我没有在上面的循环中添加超时逻辑,这在理想情况下会为数据添加一个False的成功值。我将由您来处理和实现。最后我们称烧瓶。jsonify对数据,并将其返回给客户端(第182行)。这就完成了我们的预测函数。

    为了演示我们的Keras REST API,我们需要一个__main__函数来实际启动服务器

    第186-196行定义了__main__函数,它将启动classify_process线程(第190-192行)并运行Flask应用程序(第196行)。

    第五部分:启动可伸缩的Keras REST API

    要测试我们的Keras深度学习REST API,请确保使用本文的“下载”部分下载源代码示例图像。从这里,让我们启动Redis服务器,如果它还没有运行:

  • redis-server

  • 然后,在另一个终端中,让我们启动REST API Flask服务器:

  • python run_keras_server.py

  • 另外,我建议在向服务器提交请求之前,等待您的模型完全加载到内存中。现在我们可以继续使用cURL和Python测试服务器。

    第七部分:使用cURL访问Keras REST API

    使用cURL来测试我们的Keras REST API服务器。这是我的家庭小猎犬Jemma。根据我们的ResNet模型,她被归类为一只拥有94.6%自信的小猎犬。

  • curl -X POST -F [email protected] 'http://localhost:5000/predict'

  • 你会在你的终端收到JSON格式的预测:

  • {"predictions": [{"label": "beagle","probability": 0.9461546540260315},{"label": "bluetick","probability": 0.031958919018507004},{"label": "redbone","probability": 0.006617196369916201},{"label": "Walker_hound","probability": 0.0033879687543958426},{"label": "Greater_Swiss_Mountain_dog","probability": 0.0025766862090677023}],"success": true}

  • 第六部分:使用Python向Keras REST API提交请求

    如您所见,使用cURL验证非常简单。现在,让我们构建一个Python脚本,该脚本将发布图像并以编程方式解析返回的JSON。

    让我们回顾一下simple_request.py

  • # import the necessary packagesimport requests# initialize the Keras REST API endpoint URL along with the input# image pathKERAS_REST_API_URL = "http://localhost:5000/predict"IMAGE_PATH = "jemma.png"

  • 我们在这个脚本中使用Python请求来处理向服务器提交数据。我们的服务器运行在本地主机上,可以通过端口5000访问端点/predict,这是KERAS_REST_API_URL变量(第6行)指定的。

    我们还定义了IMAGE_PATH(第7行)。png与我们的脚本在同一个目录中。如果您想测试其他图像,请确保指定到您的输入图像的完整路径。

    让我们加载图像并发送到服务器:

  • # load the input image and construct the payload for the requestimage = open(IMAGE_PATH, "rb").read()payload = {"image": image}# submit the requestr = requests.post(KERAS_REST_API_URL, files=payload).json()# ensure the request was sucessfulif r["success"]: # loop over the predictions and display them for (i, result) in enumerate(r["predictions"]): print("{}. {}: {:.4f}".format(i + 1, result["label"], result["probability"]))# otherwise, the request failedelse: print("Request failed")

  • 我们在第10行以二进制模式读取图像并将其放入有效负载字典。负载通过请求发送到服务器。在第14行发布。如果我们得到一个成功消息,我们可以循环预测并将它们打印到终端。我使这个脚本很简单,但是如果你想变得更有趣,你也可以使用OpenCV在图像上绘制最高的预测文本。

    第七部分:运行简单的请求脚本

    编写脚本很容易。打开终端并执行以下命令(当然,前提是我们的Flask服务器和Redis服务器都在运行)。

  • python simple_request.py

  • 使用Python以编程方式使用我们的Keras深度学习REST API的结果

    第八部分:扩展深度学习REST API时的注意事项

    如果您预期在深度学习REST API上有较长一段时间的高负载,那么您可能需要考虑一种负载平衡算法,例如循环调度,以帮助在多个GPU机器和Redis服务器之间平均分配请求。

    记住,Redis是内存中的数据存储,所以我们只能在队列中存储可用内存中的尽可能多的图像。

    使用float32数据类型的单个224 x 224 x 3图像将消耗602112字节的内存。

‘拾’ 两台服务器间怎么同步数据

用同步软件
像腾讯云,网络云
都可以的
即时性的
希望可以帮上你

热点内容
家用电脑改成服务器并让外网访问 发布:2025-02-01 15:30:23 浏览:354
javac工资 发布:2025-02-01 15:24:28 浏览:22
如何删除服务器登录账号 发布:2025-02-01 15:21:05 浏览:498
瑞萨编程器 发布:2025-02-01 15:19:18 浏览:85
上海ntp服务器搭建 发布:2025-02-01 15:03:38 浏览:991
c游戏编程基础 发布:2025-02-01 15:00:17 浏览:993
routejs怎么动态配置 发布:2025-02-01 14:59:07 浏览:502
家用电脑安装服务器内存 发布:2025-02-01 14:38:50 浏览:257
增量调制编译码实验报告 发布:2025-02-01 14:30:30 浏览:787
不良人2无敌伤害脚本 发布:2025-02-01 14:23:04 浏览:398