【问题标题】:Running python process on EC2 from local ipython notebook从本地 ipython 笔记本在 EC2 上运行 python 进程
【发布时间】:2015-09-19 01:45:53
【问题描述】:

我正在玩一些 python 深度学习包(Theano/Lasagne/Keras)。我一直在笔记本电脑的 CPU 上运行它,这需要很长时间来训练模型。

有一段时间我也在使用 Amazon GPU 实例,运行 iPython 笔记本服务器,显然它在完整运行时运行速度要快得多,但用于原型设计的成本相当高。

有什么方法可以让我在本地机器上使用 iPython 进行原型制作,然后当我有一个大型模型来训练启动 GPU 实例时,对其进行所有处理/训练,然后关闭实例。

这样的设置是否可行,或者有人有任何建议将本地机器的便利性与 AWS 上的临时处理结合起来吗?

到目前为止,我的想法是

  1. 本地 ipython notebook 上的原型

  2. 设置单元格以运行从开始到 结束。

  3. 使用 boto 启动一个 ec2 实例 ssh 进入该实例 使用 boto 的 sshclient_from_instance

    ssh_client = sshclient_from_instance(instance,
                                 key_path='<path to SSH keyfile>',
                                 user_name='ec2-user')
    
  4. 使用解决方案 here 获取我使用脚本设置的单元格的内容,假设脚本在单元格 13 中执行该脚本使用

    ssh_client.run('python -c "'+ _i13 + '"' )
    
  5. 使用 boto 关闭实例

这似乎有点令人费解,有没有合适的方法来做到这一点?

【问题讨论】:

    标签: python amazon-ec2 ipython


    【解决方案1】:

    因此,对于 EC2,您不必每次都关闭实例。 AWS 的美妙之处在于,您可以在使用实例时停止和启动实例,并且只需为启动和运行的时间付费。此外,您始终可以在更小、更便宜的实例上尝试您的代码,如果您不喜欢它的速度太慢,那么您只需扩展到更大的实例。

    【讨论】:

    • 我可能搞混了我的条款。最后关闭实例我的意思只是停止它。我一直在通过在一个较小的实例上进行原型设计来扩大和缩小规模,只是想知道有一种集成方法可以将特定进程(或 ipython 单元)分流到 ec2。
    猜你喜欢
    • 2014-09-02
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 2014-09-01
    • 1970-01-01
    相关资源
    最近更新 更多