Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以将计算外包给AWS,并在本地使用结果?_Python_Amazon Web Services_Amazon Ec2_Hpc_Grid Computing - Fatal编程技术网

Python 是否可以将计算外包给AWS,并在本地使用结果?

Python 是否可以将计算外包给AWS,并在本地使用结果?,python,amazon-web-services,amazon-ec2,hpc,grid-computing,Python,Amazon Web Services,Amazon Ec2,Hpc,Grid Computing,我正在研制一种使用CNN的机器人,它需要比我的嵌入式计算机(Jetson TX1)多得多的内存。我想知道是否有可能(通过极低延迟的连接)将繁重的计算外包给EC2,并将结果发送回服务器,以便在Python脚本中使用。如果这是可能的,我将如何进行,以及延迟会是什么样子(不是计算,只是发送到和从) 可能:当然是 您可以使用任何类型的RPC来实现这一点。HTTPS请求、xml rpc、原始UDP数据包等。如果您对延迟和少量数据更感兴趣,那么基于UDP的东西可能比TCP更好,但是您需要构建额外的逻辑来对消

我正在研制一种使用CNN的机器人,它需要比我的嵌入式计算机(Jetson TX1)多得多的内存。我想知道是否有可能(通过极低延迟的连接)将繁重的计算外包给EC2,并将结果发送回服务器,以便在Python脚本中使用。如果这是可能的,我将如何进行,以及延迟会是什么样子(不是计算,只是发送到和从)

可能:当然是

您可以使用任何类型的RPC来实现这一点。HTTPS请求、xml rpc、原始UDP数据包等。如果您对延迟和少量数据更感兴趣,那么基于UDP的东西可能比TCP更好,但是您需要构建额外的逻辑来对消息进行排序并重试丢失的消息。或者,类似于
Zeromq
的方法可能会有所帮助


至于延迟:只有你能回答这个问题,因为这取决于你从哪里连接。在离您最近的区域启动一个实例,并对其运行
ping
,或
mtr
,以了解往返时间。这是你能达到的最低限度。您的处理时间比这还要长。

我认为这当然是可能的。您需要一些脚本或web服务器来来回传输数据。以下是我认为您可能实现的方法:

  • 将所有培训数据发送到EC2实例
  • 训练你的CNN
  • 保存可能需要的权重和/或任何其他生成的参数
  • 在嵌入式系统上构建CNN并输入权重 来自EC2实例。因为你不需要做任何训练 在这里,不需要在训练集中加载内存使用情况 这将是最低限度的
  • 使用嵌入式设备预测您可能需要的任何东西
  • 因为您没有提供足够的信息,所以很难对延迟给出准确的答案。确切的延迟在很大程度上取决于您的硬件、internet连接、要传输的数据量、软件等。如果您在初始训练集中只训练一次,您只需要传输权重一次,因此延迟可以忽略不计。如果你不断地发送数据和培训,或者在远程服务器上做预测,等待时间会更高。

    < P>我以前是国家高性能中心,Cayar的联邦大学,所以我有一些关于计算机电源外包的说法。p> CENAPAD拥有一个大型集群,为学术研究提供计算能力。在那里,教授和学生发送他们的计算和数据,定义输出,然后去喝一两杯咖啡,而集群则继续努力工作。在多次失败后,操作结束,他们通过ssh检索并返回笔记本电脑

    对于大块的计算,您希望最小化任何不是有用计算的工作。这样的事情之一就是通过分离的计算机进行通信。如果您需要知道计算何时结束,请让HPC机器告诉您

    为了有效地计算数据,您可能需要深入机器并执行某种分布。我使用OpenMP在同一机器/线程分发中分发计算。为了在物理上分离的计算机之间进行分发,但接下来(从延迟的角度讲),我使用MPI。我还在UFC中为另一个部门安装了另一个集群。在那里,研究人员只使用MPI

    也许一些关于分布式/网格/集群计算的书籍可以帮助您:

    • );我听过的第一个大规模分布式计算的例子
    • );这是塞纳帕德式的东西

    在我看来,您希望使用类似网格的计算,您的个人PC作为主节点,可以调用EC2从节点;在这种情况下,只需使用从主机到从主机的通信来发送程序(如果真的需要)和数据,这样,主机将有另一件与发送的数据无关的事情要做;另外,让从机在计算结束时告诉主机。

    嘿!这个问题你还需要帮助吗?你没有选择答案,所以我想你可能需要更多的想法。我遇到的一个问题是数据的实际发送。假设CNN已经完全训练好了,我怎么能对每一帧都这样做呢?最好将框架发送给AWS或其他什么?谢谢应该可以使用在服务器上训练模型期间生成的权重在嵌入式设备上实际重建模型。因此,您所要做的就是传输权重数组(可能一开始只传输一次),然后在设备上进行所需的任何计算。我不建议每次都将测试数据发送到AWS,因为这会使事情(可能)变得缓慢。这是我要问的更多问题。现在我的最大速度是3.5FPS,因为嵌入式系统内存不足,所以我很好奇是否可以通过AWS外包来提高速度。似乎每秒做4次以上,但这不太可能。我想我会把模特的体型缩小一些。