在Google Cloud Compute Engine上运行python脚本

jor*_*993 11 python google-cloud-platform

对于学校的机器学习任务,我编写了自己的MLP网络.数据集非常大,培训需要永远.我收到了关于在Google Cloud Compute Engine上运行我的脚本的提示.我试图设置它,但没有成功(还).

我承担的步骤:

  1. 创建一个帐户
  2. 创建一个VM
  3. 通过浏览器打开VM

任何人都可以帮我将我的python脚本导入并运行到Google Cloud中.或者有没有人明确如何解决这个问题的教程?我自己试着找到这些,但到目前为止没有成功.

Eso*_*oid 17

我终于想出来了,所以我会在我自己的帖子上发布相同的答案,这对我有用.在我的VM上使用Debian Stretch.我假设您已经将文件上传到VM,并且您位于脚本的同一目录中.

  1. 使您的脚本成为可执行文件

    chmod +x myscript.py
    
    Run Code Online (Sandbox Code Playgroud)
  2. 运行该nohup命令以在后台执行脚本.该&选项确保退出后进程保持活动状态.我已将shebang行添加到我的python脚本中,因此无需在python此处调用

    nohup /path/to/script/myscript.py &
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果需要,可以从shell注销

    logout
    
    Run Code Online (Sandbox Code Playgroud)

完成!现在您的脚本已启动并正在运行.您可以通过检查此命令的输出来返回并确保您的进程仍处于活动状态:

ps -e | grep myscript.py
Run Code Online (Sandbox Code Playgroud)

如果出现任何问题,您可以查看该nohup.out文件以查看脚本的输出:

cat nohup.out
Run Code Online (Sandbox Code Playgroud)


小智 8

甚至还有一种更简单的方法可以在 gcp 和每个 Linux 终端的后台运行代码:使用screen linux

创建一个新的后台终端窗口:

screen -S WRITE_A_NAME_OF_YOUR_CHOIC_HERE
Run Code Online (Sandbox Code Playgroud)

现在您位于终端的后台窗口中。运行你的代码:

python3 mycode.py
Run Code Online (Sandbox Code Playgroud)

使用热键退出屏幕,作业将继续在后台运行。

ctrl + A + D
Run Code Online (Sandbox Code Playgroud)

您现在可以关闭所有窗口。如果你想回去看看发生了什么。再次登录您的终端。并点击以下内容。

screen -ls 
Run Code Online (Sandbox Code Playgroud)

这将为您提供已创建的“窗口”的列表。现在找到你的并点击

screen -r WRITE_NAME_OF_YOUR_WINDOW
Run Code Online (Sandbox Code Playgroud)

就这样了 :D 你可以在这里找到更多命令