iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0

我們再回到第一天提到的主題內容, 如下圖. 我們已經完成training與tracking的部份, 接下來我們開始準備serving的工作.

https://ithelp.ithome.com.tw/upload/images/20210922/20140792BLbdmwNjts.png

這次的serving任務, 我們先以手工打造的方式做一次, 也就是我們自已準備一個Django環境, 然後將先前訓練好模型複製到Django的專案中, 再由Django web server提供enodpint, 好讓使用者可以存取這個endpoint後得到推論的結果.

這一篇我們要做的事情是準備好Django環境, 以下操作是以Window的WSL環境進行說明, OS是ubuntu

  • 安裝pip

    $sudo apt-get install -y python3-pip
    
  • 安裝virtualenv

    $sudo pip3 install virtualenv
    
  • 我們先在ubuntu下建立一個目錄, 名稱為ironman-workspace, 我們的專案就放這個目錄, 然後再cd到這個目錄

    $mkdir ironman-workspace
    $cd ironman-workspace
    
  • 建立虛擬環境

    $virtualenv VENV
    

    執行後會看到在目錄中已建立一個目錄, 名稱為VENV
    https://ithelp.ithome.com.tw/upload/images/20210922/20140792ZBJjzuedh3.png

  • 啟用虛擬環境

    $source VENV/bin/activate
    

    執行後如下圖:
    https://ithelp.ithome.com.tw/upload/images/20210922/20140792StRu42pYQX.png

  • 確認虛擬環境(VENV)目錄裡有什麼
    一般來說, 不同的Django應用程式會有自己的虛擬環境(VENV), 目的是讓不同的應用程式可以使用不同版本的package, 例如應用程式A可以使用Django 3.x.x, 而應用程式B可以使用Django 3.y.y, 這是怎麼做到的呢?

    我們現在來看一下VENV目錄下現在有什麼, 請執行

    $cd VENV/lib/python3.8/site-packages/
    $ll
    

    在下圖. 目前沒有django這個目錄, 因為我們還沒安裝
    https://ithelp.ithome.com.tw/upload/images/20210922/20140792F7hJs2NH0v.png

  • 安裝Django
    好的, 接下來我們來安裝django

    $cd ~/ironman-workspace
    $pip install django
    

    一切順利, 沒有噴錯. 這樣就安裝好了
    https://ithelp.ithome.com.tw/upload/images/20210922/20140792rkWyq2A69z.png

  • 確認安裝Django之後發生了什麼事
    我們再來看看VENV目錄的內容, 執行

    $cd VENV/lib/python3.8/site-packages/
    $ll
    

    如下圖. 我們可以看到在 site-packages目錄中已安裝Django, 而且版本是3.2.6, 也就是在不同的虛擬環境目錄中, virtualenv這個工具會幫我們管理每個虛擬環境的package與版本,在啟用(activate)這個虛擬目錄之後, 所使用到的package就只會限制在虛擬目錄裡的package, 而不會跟其他虛擬目錄的版本有所衝突, 所以在同一個開發環境中, 你可以安裝多個彼此獨立且不同版本的開發環境.
    https://ithelp.ithome.com.tw/upload/images/20210922/201407924syglo4sTU.png
    這是我目前對虛擬環境的理解.

到這裡我們已經把Django的環境安裝完成, 接下來明天我們來寫Django的code


上一篇
使用MLFlow tracking功能比較training結果
下一篇
使用Django部署模型
系列文
AI平台初學者工作坊: 從training、tracking到serving30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言