以 CodeIgniter4、Vue.js、Flask 開發之上妝系統
利用 PSGAN GIT 製做的線上試妝平台,會員可以分享妝容照片至社群平台,以也能以自身的素顏照透過他人上傳的妝容照進行試妝。
- PHP 7.4↑
- Mysql 5.6
- Python 3.6
- Nvidia Gpu(cuda suport)
- docker-ce V19(使用V20將會造成錯誤)
- 以下服務採 CodeIgniter4 開發,至專案根目錄中完成
.env
組態設定檔案。backend_gateway
backend_creation_service
backend_photo_service
backend_user_service
- 以下服務採 Python Flask 開發,主要組態設定檔案位於
backend_makeup_service\.env
,可依需求調整backend_makeup_service
- 以下服務採 Vue.js 與 Node.js開發,主要組態設定檔案位於
frontend_client_service\cosme_mainApp\.env
,可依需求調整frontend_client_service
- 啟動專案
docker-compose up
- 將專案根目錄中的
cosme.sql
匯入至資料庫 - 依序對 CodeIgniter4 之專案下達指令取回 Composer Libraries
docker-compose exec gateway composer install docker-compose exec creation_service composer install docker-compose exec photo_service composer install docker-compose exec user_service composer install
- 專案預設連接埠為
- 前端網頁
localhost:7010
- 後端 Gateway
localhost:7001
- 前端網頁
請確定你的裝置已安裝顯示卡驅動程式。 以下文件以 Ubuntu 做為環境撰寫。
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
若在更新的過程出現 NO_PUBKEY XXXXXXXX 的錯誤,執行
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
後再重新sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
透過運作基本的 CUDA 容器來測試工作設定:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce RTX 206... On | 00000000:65:00.0 Off | N/A | | 32% 33C P8 9W / 184W | 313MiB / 7979MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| +-----------------------------------------------------------------------------+
將根目錄下的 docker-compose.yml
做出以下調整
makeup_service:
build:
context: ./backend_makeup_service/.
dockerfile: Dockerfile
runtime: nvidia
volumes:
- ./backend_makeup_service:/app/service
- ./backend_makeup_service/.env:/app/service/.env
- ./backend_makeup_service/nginx.conf:/etc/nginx/nginx.conf
- ./photo/Without:/mnt/Without
- ./photo/Reference:/mnt/Reference
- ./photo/Synthesize:/mnt/Synthesize
ports:
- 7005:80
至 backend_makeup_service\.env
做出以下調整
# cuda or cpu
USING_DEVICE = cuda
docker-compose up --build --no-cache makeup_service