pannman commited on
Commit
07be191
·
1 Parent(s): 61ffc70

Update Readme

Browse files
Files changed (4) hide show
  1. .gitignore +1 -0
  2. README.md +6 -76
  3. data/README.md +93 -0
  4. work/README.md +90 -0
.gitignore CHANGED
@@ -170,6 +170,7 @@ cython_debug/
170
  /data/**
171
  !/data/**/
172
  !/data/**/.gitkeep
 
173
 
174
  .bash_history
175
 
 
170
  /data/**
171
  !/data/**/
172
  !/data/**/.gitkeep
173
+ !/data/**/README.md
174
 
175
  .bash_history
176
 
README.md CHANGED
@@ -17,16 +17,6 @@
17
  - [主要ディレクトリの説明](#主要ディレクトリの説明)
18
  - [`work/`](#work)
19
  - [`data/`](#data)
20
- - [`work/` ディレクトリ](#work-ディレクトリ)
21
- - [`example/`](#example)
22
- - [`experiments/`](#experiments)
23
- - [`src/`](#src)
24
- - [`tests/`](#tests)
25
- - [`data/` ディレクトリ](#data-ディレクトリ)
26
- - [`models/`](#models)
27
- - [`preprocessed/`](#preprocessed)
28
- - [`raw/`](#raw)
29
- - [`results/`](#results)
30
  - [VSCode上での作業(Dev container)](#vscode上での作業dev-container)
31
  - [前提条件](#前提条件-1)
32
  - [🔧 セットアップ手順](#-セットアップ手順)
@@ -104,8 +94,11 @@ Poetryを使用してパッケージを管理します。
104
  ```bash
105
  poetry remove [パッケージ名]
106
  ```
107
-
108
- > 📝 パッケージの追加や削除を行った後は、必ず変更をコミットしてください。
 
 
 
109
 
110
  ## 🔄 開発の手順
111
 
@@ -203,70 +196,7 @@ root/
203
  - **raw/**: 元データ(提供されたExcelファイルなど)
204
  - **results/**: 各タスクの出力結果
205
 
206
-
207
-
208
- ### `work/` ディレクトリ
209
-
210
- `work/` ディレクトリは、プロジェクトの主要なコードベースを含みます。各サブディレクトリの詳細は以下の通りです:
211
-
212
- #### `example/`
213
- - **目的**: デモンストレーションやサンプルコードの保管
214
- - **内容**:
215
- - クリーンで理解しやすいコード例
216
- - Hugging Face Spacesのデモスクリプト
217
- - クライアントへの提示用コードサンプル
218
-
219
- #### `experiments/`
220
- - **目的**: 実験的なコードや一時的なスクリプトの保管
221
- - **内容**:
222
- - 新しいアルゴリズムの試験実装
223
- - パラメータチューニングスクリプト
224
- - プロジェクト固有のプロンプトやコンフィグ
225
-
226
- #### `src/`
227
- - **目的**: 再利用可能な共通コンポーネントの保管
228
- - **内容**:
229
- - プロジェクト間で共有できる基本クラス
230
- - ユーティリティ関数
231
- - データ処理パイプライン
232
-
233
- #### `tests/`
234
- - **目的**: 単体テストとその関連ファイルの保管
235
- - **内容**:
236
- - 各モジュールの単体テスト
237
-
238
- ### `data/` ディレクトリ
239
-
240
- `data/` ディレクトリは、プロジェクトで使用する様々なデータを保管します。
241
- #### `models/`
242
- - **目的**: 学習済みモデルの保存
243
- - **内容**:
244
- - PyTorchモデル(.pthファイル)
245
- - TensorFlowモデル(.h5ファイル)
246
- - その他の機械学習モデル
247
-
248
- #### `preprocessed/`
249
- - **目的**: 前処理済みデータの保存
250
- - **内容**:
251
- - クリーニング済みCSVファイル
252
- - トークン化されたテキストファイル
253
- - 正規化された数値データ
254
-
255
- #### `raw/`
256
- - **目的**: 元データの保管
257
- - **内容**:
258
- - クライアントから提供された元のExcelファイル
259
- - ウェブスクレイピングで取得した生データ
260
- - 未処理のログファイル
261
-
262
- #### `results/`
263
- - **目的**: 分析結果や出力データの保存
264
- - **内容**:
265
- - モデルの予測結果
266
- - 統計分析のレポート
267
- - 生成されたグラフや図表
268
-
269
- > ⚠️ 注意: `data/`ディレクトリの内容はGitで管理されません。重要なデータは別途バックアップを取ってください。
270
 
271
 
272
  ## VSCode上での作業(Dev container)
 
17
  - [主要ディレクトリの説明](#主要ディレクトリの説明)
18
  - [`work/`](#work)
19
  - [`data/`](#data)
 
 
 
 
 
 
 
 
 
 
20
  - [VSCode上での作業(Dev container)](#vscode上での作業dev-container)
21
  - [前提条件](#前提条件-1)
22
  - [🔧 セットアップ手順](#-セットアップ手順)
 
94
  ```bash
95
  poetry remove [パッケージ名]
96
  ```
97
+ - **lock fileの更新**:
98
+ ```bash
99
+ poetry lock
100
+ ```
101
+ > 📝 パッケージの追加や削除を行った後は必ずlock fileを更新して、poetry.lockとpyproject.tomlの差分をコミットしてください
102
 
103
  ## 🔄 開発の手順
104
 
 
196
  - **raw/**: 元データ(提供されたExcelファイルなど)
197
  - **results/**: 各タスクの出力結果
198
 
199
+ > ⚠️ 注意: `data/`ディレクトリの内容はGitで管理されません。dataディレクトリからdata.zipファイルに圧縮しgoogledriveにて保管してください。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
 
201
 
202
  ## VSCode上での作業(Dev container)
data/README.md ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 📊 data ディレクトリ概要
2
+
3
+ `data/` ディレクトリは、プロジェクトの心臓部とも言える重要なデータを管理します。各サブディレクトリは特定の目的を持ち、プロジェクトのデータフローを効率化します。
4
+
5
+ ---
6
+
7
+ ### 📂 ディレクトリ構造
8
+
9
+ ```
10
+ data/
11
+ ├── models/
12
+ ├── preprocessed/
13
+ ├── raw/
14
+ └── results/
15
+ ```
16
+
17
+ ---
18
+
19
+ ## 📁 詳細説明
20
+
21
+ ### 🧠 `models/`
22
+
23
+ **目的**: 学習済みモデルの保存と版管理
24
+
25
+ | 内容 | 説明 |
26
+ | -------- | ---------------------- |
27
+ | 📄 `.pth` | PyTorchモデル |
28
+ | 📄 `.pd` | TensorFlowモデル |
29
+ | 📄 その他 | scikit-learnモデルなど |
30
+
31
+ ➡️ **使用例**:
32
+ ```python
33
+ model = torch.load('data/models/bert_classifier_v2.1.pth')
34
+ ```
35
+
36
+ ---
37
+
38
+ ### 🔧 `preprocessed/`
39
+
40
+ **目的**: 前処理済みデータの保存と再利用
41
+
42
+ | 内容 | 説明 |
43
+ | --------------------- | -------------------------- |
44
+ | 📊 クリーニング済みCSV | 整形されたデータセット |
45
+ | 📝 トークン化テキスト | NLP用処理済みテキスト |
46
+ | 📈 正規化データ | スケーリング済み数値データ |
47
+
48
+ ➡️ **使用例**:
49
+ ```python
50
+ df = pd.read_csv('data/preprocessed/customer_data_2024Q1.csv')
51
+ ```
52
+
53
+ ---
54
+
55
+ ### 📦 `raw/`
56
+
57
+ **目的**: 元データの保管
58
+
59
+ | 内容 | 説明 |
60
+ | ---------------------- | ---------------------- |
61
+ | 📑 Excelファイル | クライアント提供データ |
62
+ | 🌐 スクレイピングデータ | Web収集の生データ |
63
+ | 📜 ログファイル | システムログなど |
64
+
65
+ ⚠️ **注意**: このディレクトリは読み取り専用として扱い、データの整合性を保護すること。
66
+
67
+ ---
68
+
69
+ ### 📊 `results/`
70
+
71
+ **目的**: 分析結果や出力データの保存と共有
72
+
73
+ | 内容 | 説明 |
74
+ | -------------- | -------------------- |
75
+ | 📉 予測結果 | モデルのアウトプット |
76
+ | 📃 分析レポート | 統計解析のサマリー |
77
+ | 🖼️ グラフ・図表 | 可視化結果 |
78
+
79
+ ➡️ **使用例**:
80
+ ```python
81
+ plt.savefig('data/results/sales_forecast_2024Q2.png', dpi=300)
82
+ ```
83
+
84
+ ---
85
+ ### 🚨 注意事項
86
+
87
+ 1. **🔒 管理方法**:
88
+ - `data/` は基本的にGit管理外。
89
+ - dataディレクトリからdata.zipファイルに圧縮しgoogledriveにて保管してください。
90
+ - 大容量ファイルはGit LFSの使用を検討。
91
+ ---
92
+ > 💡 **Tip**: このディレクトリ構造を効果的に活用することで、データ管理の効率性が向上し、プロジェクトの再現性と品質が確保されます。
93
+
work/README.md ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🚀 プロジェクト構造
2
+
3
+ ## 📁 ディレクトリ構成例
4
+
5
+ ```
6
+ work/
7
+ ├── example/
8
+ ├── experiments/
9
+ │ ├── task_1/
10
+ │ ├── task_2/
11
+ │ └── ...
12
+ ├── src/
13
+ │ ├── components/
14
+ │ ├── utils/
15
+ │ └── pipelines/
16
+ └── tests/
17
+ ```
18
+
19
+ ## 📂 ディレクトリ詳細
20
+
21
+ ### 🎯 `example/`
22
+
23
+ **目的**: デモンストレーションとサンプルコードの提供
24
+
25
+ | 内容 | 特徴 |
26
+ | ------------------------------------------------------------------------------- | -------------------------------------------------------------- |
27
+ | • Hugging Face Spacesのデモスクリプト<br>• クライアント共有用の整形されたコード | • クリーンで再利用可能なコード<br>• 明確なドキュメンテーション |
28
+
29
+ ---
30
+
31
+ ### 🧪 `experiments/`
32
+
33
+ **目的**:
34
+ - 実験的コードの開発
35
+ - PoCの主要作業場所
36
+
37
+ **使用方法**:
38
+ 1. タスク単位でディレクトリを作成
39
+ 2. 各タスクディレクトリ内で実験的コードを記述
40
+ 3. クライアント共有前にコードをリファクタリングし、`example/`に移動
41
+
42
+ **構造例**:
43
+ ```
44
+ experiments/
45
+ ├── task_1/
46
+ ├── task_2/
47
+ └── ...
48
+ ```
49
+
50
+ ---
51
+
52
+ ### 🛠 `src/`
53
+
54
+ **目的**:
55
+ - プロジェクト非依存の主要コンポーネントとユーティリティクラスの保管
56
+ - 他プロジェクトでの再利用を可能にする
57
+
58
+ > 💡 **ヒント**: プロジェクト終了時に、全体のコードをリファクタリングし、再利用可能な部分を`src/`に移動させましょう。
59
+
60
+ **構造例**:
61
+ ```
62
+ src/
63
+ ├── utils/
64
+ ├── components/
65
+ ├── pipelines/
66
+ └── ...
67
+ ```
68
+
69
+ ---
70
+
71
+ ### 🧪 `tests/`
72
+
73
+ **目的**: プロジェクトの品質保証
74
+
75
+ **構造**:
76
+ - `unit/`: 単体テスト
77
+ - `src/`の各モジュールに対応
78
+ - 命名規則: `test_*.py`
79
+ - 例: `src/utils/data_loader.py` → `tests/utils/test_data_loader.py`
80
+
81
+ **テストの実行方法**:
82
+
83
+ | コマンド | 説明 |
84
+ | --------------------------------------------- | ------------------------------ |
85
+ | `pytest tests/unit` | 全ての単体テストを実行 |
86
+ | `pytest tests/unit/utils/test_data_loader.py` | 特定のモジュールのテストを実行 |
87
+ | `pytest tests/unit -v` | 詳細なテスト結果を表示 |
88
+
89
+ > ⚠️ **注意**: テスト実行前に、必要な依存関係がインストールされていることを確認してください。
90
+