iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
AI & Data

ML/DL實作-「營養抗老」專題製作系列 第 1

Day1_ML/DL實作-「營養抗老」專題-環境建置

  • 分享至 

  • xImage
  •  
  • 專案流程如下:建立專案環境 - 資料庫建置- 專題開發-加入 flyte 工作流- 專題測試- 成果驗收。準備好了嗎?開始囉!

本專題分為5個phase,如下表:

Phase	目標	主要技術	本機資源預算(典型)
Phase 1	資料模型+知識庫查詢(食物/成分/功效/證據/交互)	Spring Boot 3.3.3(Web/JDBC/Validation)、PostgreSQL 或 MySQL、Python(ETL 可選)	RAM 1–2GB、Disk < 2GB
Phase 2	推薦系統(烏髮 E001/抗皺 E002)	規則評分器(Service 內)、ONNX Runtime(小型 reranker 可選)	RAM 2–3GB、CPU 推論 < 50ms
Phase 3	藥物交互(DrugBank)警示	同上 + interactions 表/API	同 Phase 2
Phase 4	搜尋/QA 強化(可選)	先用全文檢索(Postgres/LIKE 或 SQLite FTS);向量檢索則用 Qdrant/SQLite-Vec/DuckDB(小量)	RAM 2–3GB
Phase 5	小型學習/排序優化(可選)	Python 訓練輕量模型 → 匯出 ONNX → Java 推論	模型 <100MB、CPU 推論

你需要的電腦規格:
CPU配備:Macbook Mx
記憶體:16GB(考慮你可能還要同時做其他事情)
硬體:10GB
今天的目標是環境建置,
提供1個執行檔:

#!/usr/bin/env bash
set -euo pipefail

echo "=== ML 實作 - 營養抗老專案:Day 1 開發環境安裝(macOS Apple Silicon) ==="

# 1. 安裝 Homebrew
if ! command -v brew >/dev/null 2>&1; then
  echo "[1/12] 安裝 Homebrew..."
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
  eval "$(/opt/homebrew/bin/brew shellenv)"
else
  echo "[1/12] 已安裝 Homebrew"
fi

echo "[2/12] 更新 Homebrew"
brew update

# 2. 安裝 JDK21 + Maven
echo "[3/12] 安裝 JDK 21(Temurin)與 Maven"
brew install --cask temurin@21 || true
brew install maven || true

echo "[4/12] 設定 JAVA_HOME"
JAVA_HOME_21=$(/usr/libexec/java_home -v 21 2>/dev/null || true)
if [[ -n "${JAVA_HOME_21}" ]]; then
  echo "export JAVA_HOME=\"${JAVA_HOME_21}\"" >> ~/.zprofile
  export JAVA_HOME="${JAVA_HOME_21}"
fi

# 3. 安裝 MySQL 8.4.6
echo "[5/12] 安裝 MySQL 8.4.6"
brew install mysql@8.4 || true
brew services start mysql@8.4 || true

echo "[6/12] 建立資料庫 mymall 與帳號 mall/1234"
sleep 3
/opt/homebrew/opt/mysql@8.4/bin/mysql -uroot <<'SQL'
CREATE DATABASE IF NOT EXISTS mymall DEFAULT CHARACTER SET utf8mb4;
CREATE USER IF NOT EXISTS 'mall'@'localhost' IDENTIFIED BY '1234';
GRANT ALL PRIVILEGES ON mymall.* TO 'mall'@'localhost';
FLUSH PRIVILEGES;
SQL

# 4. 安裝 Python 3.12
echo "[7/12] 安裝 Python 3.12 與 pipx"
brew install python@3.12 pipx || true
pipx ensurepath || true

# 5. VS Code
echo "[8/12] 安裝 VS Code"
brew install --cask visual-studio-code || true

# 6. Docker / Postman(可選)
#echo "[9/12] 提示:可安裝 Docker Desktop → brew install --cask docker"
echo "[10/12] 提示:可安裝 Postman → brew install --cask postman"
brew install --cask postman


# 7. 建立工作目錄
echo "[11/12] 建立專案目錄 ~/mywork"
mkdir -p ~/mywork

echo "[12/12] 環境完成!"

echo "=== 驗證版本 ==="
java -version || true
mvn -version || true
/opt/homebrew/opt/mysql@8.4/bin/mysql --version || true
python3.12 --version || true
echo "=== 完成,請重新開啟 Terminal ==="

這個專題會以java的myspringbootmall專案為主,主要是以「抗皺、烏髮」營養推薦,並搭配可以查詢Drug Bank中會影響「抗皺、烏髮」的藥物為輔,最後用輕量型的機器學習模型跑出onnx設定檔給myspringbootmall專案查詢用。


下一篇
Day2_ML/DL實作-「營養抗老」專題-環境「mySpringbootmall」建置
系列文
ML/DL實作-「營養抗老」專題製作3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言