จัดการเครื่องมือ Machine Learning ด้วย Conda

เดี๋ยวนี้เริ่มเล่นเครื่องมือ ML ต่างๆ ตัว Python Environment มีหลาย dependency ตีกันมั่วไปหมด…

เดี๋ยวนี้เริ่มเล่นเครื่องมือ ML ต่างๆ ตัว Python Environment มีหลาย dependency ตีกันมั่วไปหมด แล้วก็แชร์โค้ดให้เพื่อนลองเล่นยากต้องเขียนวิธีลง package ต่างๆ ไว้ใน README.md

มาลองใช้ Conda กันดูว่าจะช่วยได้ยังไง

Install

เนื่องจากเราเป็นสาวก ลงอะไรก็ง่าย แต่รอโหลดนานหน่อย

brew cask install anaconda

เสร็จแล้วใส่บรรทัดนี้ไว้ใน .bash_profile หรือ .zshrc

export PATH=/usr/local/anaconda3/bin:"$PATH"

Create Environment

หลังจากนั้นเราก็สร้าง Environment ขึ้นมาใช้ได้ตามใจชอบ ซึ่งจะต่างกับใช้ virtualenv ตรงที่ environment พวกนี้จะสร้างไว้รวมกันที่เดียวไม่รก environment ที่ใช้

สมมติว่าเราจะสร้าง environment ไว้สำหรับลองเล่น Keras (ตั้งชื่อว่า keras)โดยใช้ python 3.7 ก็พิมพ์ตามนี้

conda create -n keras python=3.7

Activate/Deactivate Environment

สร้างเสร็จก็ switch เข้าไปที่ environment นั้นได้เลย

source activate keras

ถ้าจะออกมาก็ใช้

source deactivate

สังเกตว่าตอนที่เรา switch เข้าไป ตัว prompt จะมีชื่อ environment ในวงเล็บนำหน้า

Install Packages

ตอนนี้ได้แต่ environement เปล่าๆ ยังไม่มีประโยชน์ ลองลง package ที่ต้องใช้ดู

conda install keras jupyterlab

หลังจากเราลงไปแล้วก็เปิด jupyter lab แล้วใช้ keras ได้ทันที

Share Environment

ของเด็ดอยู่ตรงนี้ คือ เราสามารถบอก spec ของ environment เราลงไฟล์ที่จะโยนงานไปให้เพื่อนทำต่อได้

conda env export > environment.yml

จากนั้นก็ checkin ไฟล์ environment.yml เข้าไปพร้อมกับโปรเจค

ถึงเวลาอีกฝั่งหนึ่ง clone git เสร็จแล้ว ก็สร้าง environment ได้เหมือนกันแบบนี้

conda env create -f environment.yml

Reference