$ cd docker && docker compose up -d --build
$ docker compose down && docker compose up -d --build && docker exec -it [container_name] bash
$ uv python pin 3.11
$ uv venv --python 3.11
$ source .venv/bin/activate
## uv init
$ uv sync
## uv add ...
$ uv add ruff
## run python program
$ uv run python main.py
$ uv lock
## uv sync # installs everything into .venv
$ uv export --format=requirements.txt > requirements.txt
$ deactivate
ref:
ref: https://lambda.ai/blog/set-up-a-tensorflow-gpu-docker-container-using-lambda-stack-dockerfile
ssh ubuntu@IP_ADDRESS -i ~/.ssh/lambda_cloud
curl -fsSL https://raw.githubusercontent.com/DenDen047/dotfiles/refs/heads/master/setup_scripts/lambda_cloud1.sh | bash
# if failed in the last step
sudo apt-get update && sudo apt-get install -y lambda-stack-cuda && sudo reboot
# after reboot, run the following command
curl -fsSL https://raw.githubusercontent.com/DenDen047/dotfiles/refs/heads/master/setup_scripts/lambda_cloud2.sh | bash
ref: https://modal.com/docs/guide
modal setup
modal run src/modal_sample.py
.
├── README.md # プロジェクト概要と使い方を記述
├── conf/ # 実験設定ファイル (例: parameters.yml, secrets.yml)
├── data/ # データや中間成果物の一時保存場所
├── notebooks/ # JupyterLabでの実験ノート
├── pyproject.toml # Pythonプロジェクトの主要設定ファイル (PEP 518準拠)
├── setup.cfg # pyproject.toml未対応の設定を補完
└── src/ # Pythonパッケージコード (共通処理の関数やクラスなど)
Please see the details here.
data/
├── 01_raw/ # Original, immutable data from source systems
├── 02_intermediate/ # Partially processed (cleaned/transformed) data
├── 03_primary/ # Canonical datasets for feature engineering
├── 04_feature/ # Engineered features ready for modeling
├── 05_model_input/ # Data prepared specifically for model training
├── 06_models/ # Trained models (e.g., .pkl, .h5 files)
├── 07_model_output/ # Model outputs like predictions or embeddings
└── 08_reporting/ # Reports, visualizations, dashboards, final outputs
This project follows git-flow
.
- Starting Work: Begin new development or experiments by creating a branch off of the
develop
branch. - Merging to
develop
: Once work intended fordevelop
is complete, merge it into thedevelop
branch (creating a Pull Request on GitHub is recommended if applicable) and delete the original branch. - Keeping History (Archiving): If you wish to keep the code and history of a branch without merging it into
develop
(e.g., failed experiments, pure explorations), rename the branch toarchive/<original-branch-name>
.- Example: To archive a branch named
exp/try-hyperparams-v1
, rename it toarchive/exp/try-hyperparams-v1
.
- Example: To archive a branch named
- Archived Branches: Branches prefixed with
archive/
are kept for reference only and must not be merged into active branches likedevelop
ormain
.
Following commitlint rule:
- https://github.com/conventional-changelog/commitlint
- https://www.conventionalcommits.org/en/v1.0.0/
- colormap:
turbo
ref: https://en.wikipedia.org/wiki/Active_and_passive_transformation
To avoid confusion, we distinguish between active and passive interpretations:
-
Active rotation / transformation
- Variables:
R_active
,R_apply
,R_obj
,T_active
- Meaning: Actively rotating points or vectors (e.g., applying to a point cloud).
- Variables:
-
Passive rotation / transformation
- Variables:
R_world_to_cam
,R_frame
,R_pose
,T_world_to_cam
- Meaning: Changing the coordinate frame (e.g., camera extrinsics).
- Variables:
-
Other common conventions
R_ext
,T_ext
: Extrinsic parameters (world → camera transformation).R_int
,K
: Intrinsic parameters (camera matrix).R_wc
,R_cw
: Shorthand forR_world_to_cam
,R_cam_to_world
.
-
Rotation matrices
R_passive = R_active.T
R_active = R_passive.T
-
Transformation matrices (SE(3))
T_passive = T_active^-1
T_active = T_passive^-1
This ensures consistent handling of both interpretations.
- 【Pythonの仮想環境を比較】〜オススメを紹介 〜
- モダンなPyTorchのテンプレ
- timm – PyTorch Image Models
- Best Practices for Python Coding