0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PyCharm + Docker:打造最舒適的深度學(xué)習(xí)煉丹爐

人工智能與大數(shù)據(jù)技術(shù) ? 來(lái)源:YXQ ? 2019-07-05 15:15 ? 次閱讀

一般煉丹都在服務(wù)器上,很少有人在本機(jī)跑代碼的。之前自己搗鼓怎么用本地的編輯器配上遠(yuǎn)程服務(wù)器的環(huán)境來(lái)營(yíng)造一個(gè)最舒服的姿勢(shì)。最開(kāi)始用VS Code的SFTP插件,但是用著還是不順手,因?yàn)椴荒苡眠h(yuǎn)程的環(huán)境,最后還是選擇了強(qiáng)大的PyCharm。下面的這個(gè)教程最開(kāi)始只是自己用,后來(lái)寫(xiě)了一篇博客分享給實(shí)驗(yàn)室的人,沒(méi)想到大家都開(kāi)始用上了。這次專(zhuān)門(mén)寫(xiě)一篇更詳細(xì)的供有緣人使用。

開(kāi)始之前你可以對(duì)比以下條件來(lái)確定自己是否真的需要這樣做:

使用PyCharm作為主力IDE寫(xiě)Python而不是其他(我非常推薦大家用)

深度學(xué)習(xí)煉丹師(當(dāng)然你可以不是,但如果是,你會(huì)更舒服)

服務(wù)器在遠(yuǎn)程或者局域網(wǎng)(局域網(wǎng)的體驗(yàn)最佳)

使用Docker(能夠熟練使用最佳)

當(dāng)你配置完成之后,你將能在本地PyCharm IDE上使用遠(yuǎn)程服務(wù)器的Python解釋器和環(huán)境進(jìn)行調(diào)試和運(yùn)行,同時(shí)能夠很方便的將代碼在本地和服務(wù)器上進(jìn)行同步。

OK,廢話(huà)不多說(shuō),正式開(kāi)始我們的PyCharm+Docker的遠(yuǎn)程環(huán)境配置之旅。

首先你需要滿(mǎn)足以下兩個(gè)必備條件:

使用PyCharm專(zhuān)業(yè)版,記住一定是專(zhuān)業(yè)版(社區(qū)版不提供遠(yuǎn)程服務(wù))

在服務(wù)器上安裝docker和nvidia-docker

1. 新建docker container

首先按照如下命令新建一個(gè)docker容器(關(guān)于docker的使用這里不廢話(huà),建議不熟悉的童鞋先去學(xué)一下如何使用docker,教程很多):

sudo nvidia-docker run -it -p [host_port]:[container_port](do not use 8888) --name:[container_name] [image_name] -v [container_path]:[host_path] /bin/bash

舉個(gè)栗子:

sudo nvidia-docker run -p 5592:5592 -p 5593:5593 -p 8022:22 --name=“l(fā)iuzhen_tf” -v ~/workspace/liuzhen/remote_workspace:/workspace/liuzhen/remote_workspace -it tensorflow/tensorflow:latest-gpu /bin/bash

正確執(zhí)行完之后,現(xiàn)在我們就處在新建的docker容器里了(端口映射,容器名,鏡像和路徑映射這些換成你自己的就行,但是一定要留一個(gè)端口映射到容器22端口,因?yàn)镾FTP默認(rèn)使用22端口)。

2. 配置SSH服務(wù)

接著我們?cè)趧倓傂陆ǖ娜萜骼锱渲肧SH服務(wù),首先安裝openssh-server:

$ apt update$ apt install -y openssh-server

然后建立一個(gè)配置文件夾并進(jìn)行必要的配置:

$ mkdir /var/run/sshd$ echo ‘root:passwd’ | chpasswd# 這里使用你自己想設(shè)置的用戶(hù)名和密碼,但是一定要記住!$ sed -i ‘s/PermitRootLogin prohibit-password/PermitRootLogin yes/’ /etc/ssh/sshd_config$ sed ‘s@sessions*requireds*pam_loginuid.so@session optional pam_loginuid.so@g’ -i /etc/pam.d/sshd$ echo “export VISIBLE=now” 》》 /etc/profile

重啟SSH激活配置:

$ service ssh restart

在服務(wù)器(宿主機(jī))上(不是服務(wù)器的docker里)測(cè)試剛剛新建docker容器中哪個(gè)端口轉(zhuǎn)發(fā)到了服務(wù)器的22端口:

$ sudo docker port [your_container_name] 22# 如果前面的配置生效了,你會(huì)看到如下輸出# 0.0.0.0:8022

最后測(cè)試能否用SSH連接到遠(yuǎn)程docker:

$ ssh root@[your_host_ip] -p 8022# 密碼是你前面自己設(shè)置的

到這里說(shuō)明服務(wù)器的docker端已經(jīng)完成配置。

3. 在PyCharm里配置部署環(huán)境

打開(kāi)PyCharmTools 》 Deployment 》 Configuration, 新建一個(gè)SFTP服務(wù)器,名字自己取:

輸入如下圖配置,注意這里的端口是你剛剛設(shè)置的映射到容器22端口的宿主機(jī)中的端口,我這里使用的是8022,賬號(hào)密碼是你剛剛自己設(shè)置的,這里的Root Path設(shè)置一個(gè)遠(yuǎn)程docker容器里的路徑:

配置完點(diǎn)擊Test SFTP connection,如果成功就恭喜你,可以進(jìn)行下一步了。

最后在Mappings中配置路徑,這里的路徑是你本地存放代碼的路徑,與剛剛配置的Root Path相互映射(意思是Mapping里本機(jī)的路徑映射到遠(yuǎn)程的Root Path),方便以后在本地和遠(yuǎn)程docker中進(jìn)行代碼和其他文件同步。

4. 在PyCharm里配置遠(yuǎn)程解釋器

點(diǎn)擊PyCharm的File 》 Setting 》 Project 》 Project Interpreter右邊的設(shè)置按鈕新建一個(gè)項(xiàng)目的遠(yuǎn)程解釋器:

配置完成以后在項(xiàng)目解釋器界面就會(huì)出現(xiàn)如下圖所示,可以看到此時(shí)已經(jīng)完成遠(yuǎn)程解釋器的本地化:

配置完成以后需要等本地和遠(yuǎn)程的環(huán)境同步一下,到這里,恭喜你,可以用最舒服的姿勢(shì)。。。寫(xiě)代碼了。

配置完成以后的日常是這樣的:

左邊是本地的文件,修改之后可以隨時(shí)右鍵deployment-》upload到遠(yuǎn)程主機(jī),或者直接在本地調(diào)試運(yùn)行;最右邊是遠(yuǎn)程主機(jī)的文件,假如直接在遠(yuǎn)程修改了文件刷新一下同樣可以右鍵下載到本地,但是我不建議這樣做,因?yàn)檫@樣很容易帶來(lái)沖突(畢竟沒(méi)有很好的版本控制)。目前最好的實(shí)踐是在局域網(wǎng)的服務(wù)器上,時(shí)延低,同步速度快。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84081
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120595

原文標(biāo)題:PyCharm + Docker:打造最舒適的深度學(xué)習(xí)煉丹爐

文章出處:【微信號(hào):TheBigData1024,微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Pycharm安裝方法

    `PyCharm是唯一一款專(zhuān)門(mén)面向Python的全功能集成開(kāi)發(fā)環(huán)境,無(wú)論在Windows、Mac OS X系統(tǒng)中,還是在Linux系統(tǒng)中都支持快速安裝和使用,以下是以Windows操作系統(tǒng)為例,進(jìn)行
    發(fā)表于 04-12 16:10

    pycharm的安裝使用教程

    ``PyCharm是唯一一款專(zhuān)門(mén)面向Python的全功能集成開(kāi)發(fā)環(huán)境,無(wú)論在Windows、Mac OS X系統(tǒng)中,還是在Linux系統(tǒng)中都支持快速安裝和使用,以下是以Windows操作系統(tǒng)為例
    發(fā)表于 04-12 16:14

    pycharm linux的破解步驟

    1、首先去官網(wǎng)下載對(duì)應(yīng)的pycharm,拷貝到/opt目錄,解壓,進(jìn)入bin目錄,運(yùn)行pycharm.sh,如圖:
    發(fā)表于 07-24 07:36

    什么是深度學(xué)習(xí)?使用FPGA進(jìn)行深度學(xué)習(xí)的好處?

    什么是深度學(xué)習(xí)為了解釋深度學(xué)習(xí),有必要了解神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦的神經(jīng)元和神經(jīng)網(wǎng)絡(luò)的計(jì)算模型。作為具體示例,讓我們考慮一個(gè)輸入圖像并識(shí)別圖像中對(duì)象類(lèi)別的示例。這個(gè)例子對(duì)應(yīng)機(jī)器
    發(fā)表于 02-17 16:56

    學(xué)習(xí)管理 docker 容器的一些命令

    在本教程中,我們會(huì)學(xué)習(xí)管理 docker 容器的一些命令。
    的頭像 發(fā)表于 01-22 11:56 ?4220次閱讀

    學(xué)習(xí) Docker 容器的 8 個(gè)命令分享

    利用這 8 個(gè)命令可以學(xué)習(xí) Docker 容器的基本管理方式。這是一個(gè)為 Docker 初學(xué)者準(zhǔn)備的,帶有示范命令輸出的指南。
    發(fā)表于 06-22 12:03 ?1315次閱讀
    <b class='flag-5'>學(xué)習(xí)</b> <b class='flag-5'>Docker</b> 容器的 8 個(gè)命令分享

    機(jī)器學(xué)習(xí)自動(dòng)化(AutoML):讓機(jī)器自己煉丹

    機(jī)器學(xué)習(xí)的應(yīng)用需要大量的人工干預(yù),比如特征提取、模型選擇、參數(shù)調(diào)節(jié)等,深度學(xué)習(xí)也被戲稱(chēng)為煉丹術(shù)。
    的頭像 發(fā)表于 06-21 11:15 ?6817次閱讀

    如何在pycharm環(huán)境下使用python

    PyCharm是由JetBrains打造的一款Python IDE,VS2010的重構(gòu)插件Resharper就是出自JetBrains之手。
    的頭像 發(fā)表于 01-22 11:19 ?2625次閱讀

    從零開(kāi)始學(xué)習(xí)制作、以及使用Tina的Docker編譯鏡像

    學(xué)習(xí)制作、以及使用Tina的Docker編譯鏡像
    的頭像 發(fā)表于 08-28 11:45 ?2133次閱讀
    從零開(kāi)始<b class='flag-5'>學(xué)習(xí)</b>制作、以及使用Tina的<b class='flag-5'>Docker</b>編譯鏡像

    PyCharm為什么這么牛?

    PyCharm 大量的開(kāi)箱即用工具包括集成的調(diào)試器和測(cè)試運(yùn)行程序;Python 分析器;內(nèi)置的終端;與主要 VCS 的集成和內(nèi)置的數(shù)據(jù)庫(kù)工具;利用遠(yuǎn)程解釋器的遠(yuǎn)程開(kāi)發(fā)能力;集成的 ssh 終端;以及與 Docker 和 Vagrant 的集成。
    的頭像 發(fā)表于 04-04 11:11 ?967次閱讀

    Pycharm配置遠(yuǎn)程調(diào)試

    在搞深度學(xué)習(xí)的時(shí)候,我們?cè)诒镜亻_(kāi)發(fā),但是需要在服務(wù)器去運(yùn)行工程,所以需要使用Pycharm進(jìn)行遠(yuǎn)程配置,可以實(shí)現(xiàn)本地代碼自動(dòng)同步到服務(wù)器,并在本地使用服務(wù)器的解釋器。
    的頭像 發(fā)表于 06-13 14:18 ?810次閱讀
    <b class='flag-5'>Pycharm</b>配置遠(yuǎn)程調(diào)試

    什么是深度學(xué)習(xí)算法?深度學(xué)習(xí)算法的應(yīng)用

    什么是深度學(xué)習(xí)算法?深度學(xué)習(xí)算法的應(yīng)用 深度學(xué)習(xí)算法被認(rèn)為是人工智能的核心,它是一種模仿人類(lèi)大腦
    的頭像 發(fā)表于 08-17 16:03 ?1863次閱讀

    PyTorch與PyCharm的區(qū)別

    在深入探討PyTorch與PyCharm的區(qū)別時(shí),我們首先需要明確兩者在計(jì)算機(jī)科學(xué)和數(shù)據(jù)科學(xué)領(lǐng)域中的不同定位和功能。PyTorch是一個(gè)開(kāi)源的深度學(xué)習(xí)庫(kù),而PyCharm則是一款功能強(qiáng)
    的頭像 發(fā)表于 07-02 12:36 ?1339次閱讀

    pycharm怎么訓(xùn)練數(shù)據(jù)集

    在本文中,我們將介紹如何在PyCharm中訓(xùn)練數(shù)據(jù)集。PyCharm是一款流行的Python集成開(kāi)發(fā)環(huán)境,提供了許多用于數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的工具。 1. 安裝PyCharm和相關(guān)庫(kù) 首
    的頭像 發(fā)表于 07-11 10:10 ?340次閱讀

    pycharm如何訓(xùn)練機(jī)器學(xué)習(xí)模型

    PyCharm是一個(gè)流行的Python集成開(kāi)發(fā)環(huán)境(IDE),它提供了豐富的功能,包括代碼編輯、調(diào)試、測(cè)試等。在本文中,我們將介紹如何在PyCharm中訓(xùn)練機(jī)器學(xué)習(xí)模型。 一、安裝PyChar
    的頭像 發(fā)表于 07-11 10:14 ?402次閱讀