自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于AWS使用深度學(xué)習(xí)的10個(gè)Linux命令

人工智能 深度學(xué)習(xí)
在AWS上執(zhí)行大規(guī)模的深度學(xué)習(xí)處理是一個(gè)廉價(jià)而且有效的學(xué)習(xí)和開發(fā)方式。花少量的錢就可以使用數(shù)十GB的內(nèi)存,數(shù)十個(gè)CPU,多個(gè)GPU,這是值得推薦的。

[[202723]]

在AWS上執(zhí)行大規(guī)模的深度學(xué)習(xí)處理是一個(gè)廉價(jià)而且有效的學(xué)習(xí)和開發(fā)方式?;ㄉ倭康腻X就可以使用數(shù)十GB的內(nèi)存,數(shù)十個(gè)CPU,多個(gè)GPU,這是值得推薦的。

如果你是使用EC2或者Linux 命令的新人,在云端執(zhí)行深度學(xué)習(xí)腳本的時(shí)候, 這些命令是非常有效的。

本文的主要內(nèi)容包括:

  1. 在本機(jī)和EC2實(shí)例間復(fù)制數(shù)據(jù)
  2. 使腳本按天,周,月安全地運(yùn)行
  3. 監(jiān)測進(jìn)程,系統(tǒng)和GPU 的性能

注意:所有命令在類linux環(huán)境中執(zhí)行(Linux,OS x 或者 cygwin)

0、環(huán)境約定

假設(shè)AWS EC2 已經(jīng)正常運(yùn)行,方便起見,對環(huán)境做如下的設(shè)定:

  1. EC2 服務(wù)器的IP地址為 54.218.86.47
  2. 用戶名為ec2-user
  3. SSH 密鑰位于 ~/.ssh/ 中,文件名為aws-keypair.pem;
  4. 使用Python 腳本工作

關(guān)于如何搭建一個(gè) 基于GPU的EC2實(shí)例來 執(zhí)行深度學(xué)習(xí),可以參見:

https://machinelearningmastery.com/develop-evaluate-large-deep-learning-models-keras-amazon-web-services/

1、 登陸到服務(wù)器

在做任何操作之前,首先要登陸到目標(biāo)服務(wù)器。簡單地,使用SSH命令。將SSH 密鑰存儲(chǔ)在 ~/.ssh/ 中,使用有意義的文件名,例如aws-keypair.pem。使用如下命令登陸EC2主機(jī),注意地址和用戶名:

  1. ssh -i ~/.ssh/aws-keypair.pem ec2-user@54.218.86.47 

2、 拷貝文件到服務(wù)器

使用SCP命令拷貝本地文件到服務(wù)器,例如將script.py 文件拷貝到EC2 服務(wù)器的命令如下:

  1. scp -i ~/.ssh/aws-keypair.pem script.py ec2-user@54.218.86.47:~/ 

3、使腳本在服務(wù)器的后臺(tái)運(yùn)行

在服務(wù)的后臺(tái)執(zhí)行腳本,可以忽略其他進(jìn)行的信號量,忽略標(biāo)準(zhǔn)的輸入輸出,將所有的輸出和錯(cuò)誤信息重定向到一個(gè)日志文件中。對于需要長時(shí)間運(yùn)行的深度學(xué)習(xí)模型而言, 這是非常必要的。

  1. > nohup python /home/ec2-user/script.py >/home/ec2-user/script.py.log </dev/null 2>&1 & 

該命令中script.py 和 script.py.log 都位于 /home/ec2-user/ 目錄下。關(guān)于 nohup 和重定向 參考其他的詳細(xì)介紹(例如wikipedia中的介紹)。

4、在服務(wù)器的指定 GPU 上執(zhí)行腳本

如果EC2 支持的話,推薦在同時(shí)運(yùn)行多個(gè)腳本。例如,EC2有4個(gè)GPU的話, 可以在每個(gè)GPU上單獨(dú)運(yùn)行一個(gè)腳本,示例代碼如下:

  1. CUDA_VISIBLE_DEVICES=0  nohup python /home/ec2-user/script.py >/home/ec2-user/script.py.log </dev/null 2>&1 & 

如果有4個(gè)GPU的話,可以指定CUDA_VISIBLE_DEVICES從0到3。這在TF做后臺(tái)的Keras上是可行的,在Theano 沒有測試過。

關(guān)于CUDA_VISIBLE_DEVICES 的更多信息可以參見https://devblogs.nvidia.com/parallelforall/cuda-pro-tip-control-gpu-visibility-cuda_visible_devices/

5、監(jiān)測腳本的輸出

如果輸出結(jié)果中有項(xiàng)目評分或者一個(gè)算法的運(yùn)行結(jié)果,實(shí)時(shí)監(jiān)控腳本的輸出是很有意義的。示例如下:

  1. tail -f script.py.log 

遺憾的是,當(dāng)屏幕上在一段時(shí)間沒有輸出的時(shí)候,AWS 會(huì)關(guān)閉這個(gè)終端,所以最好使用:

  1. watch "tail script.py.log" 

有的時(shí)候看不到python的標(biāo)準(zhǔn)輸出,不知道是python的問題還是EC2的問題。

6、監(jiān)測系統(tǒng)和進(jìn)程的性能

監(jiān)測EC2系統(tǒng)的性能是有意義的,尤其是已經(jīng)使用了或還剩下多少內(nèi)存。例如:

  1. top -M 

或者指定進(jìn)程標(biāo)識PID:

  1. top -p PID -M 

7、監(jiān)測GPU 性能

如果在GPU上同時(shí)執(zhí)行多個(gè)腳本,并行執(zhí)行的話,查看每個(gè)GPU 的性能和使用率是不錯(cuò)的主意。例如:

  1. watch "nvidia-smi" 

8、檢查腳本是否還在服務(wù)器上運(yùn)行

一般地,會(huì)保持終端一直是開著的。

  1. watch "ps -ef | grep python" 

9、在服務(wù)器上編輯文件

一般不建議在服務(wù)器直接修改,當(dāng)然你熟知vi除外:

  1. vi ~/script.py 

vi 的用法就不在這里贅述了。

10、從服務(wù)器上下載文件

與上傳文件相對,這是一個(gè)下個(gè)png文件的例子:

  1. scp -i ~/.ssh/aws-keypair.pem ec2-user@54.218.86.47:~/*.png . 

需要注意的幾點(diǎn)

  • 如果希望同時(shí)運(yùn)行多個(gè)腳本,最好選用擁有多個(gè)GPU 的EC2
  • 最好在本地編寫腳本
  • 將執(zhí)行結(jié)果輸出到文件,下載到本地進(jìn)行分析
  • 使用watch 命令保持終端處于運(yùn)行中
  • 在本地執(zhí)行遠(yuǎn)程命令 
責(zé)任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關(guān)推薦

2017-09-05 13:30:25

AWS深度學(xué)習(xí)Linux

2017-03-20 14:37:43

Linux命令

2018-09-13 10:00:02

Linux命令危險(xiǎn)命令

2014-03-17 17:27:51

Linux mvLinux 命令

2023-05-22 08:00:00

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2017-05-22 12:30:15

深度學(xué)習(xí)人工智能

2014-04-08 15:05:11

LinuxLinux命令行補(bǔ)全命令

2014-03-18 14:00:19

Linux監(jiān)控命令

2013-12-23 11:01:14

命令Linux命令

2018-04-20 09:58:10

Linux命令sudo

2015-12-03 09:46:50

收集硬件Linux命令

2018-08-16 13:56:32

2015-11-17 09:35:26

開源學(xué)習(xí)框架

2018-09-18 10:55:24

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2022-10-26 15:41:38

深度學(xué)習(xí)Deepfake機(jī)器學(xué)習(xí)

2024-11-04 08:14:48

2013-12-06 17:39:49

Linuxps命令

2018-09-13 09:09:56

Linux命令fork

2011-07-06 09:27:55

Linux命令

2013-11-19 11:59:49

Linux命令Shell腳本
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號