Develop#1
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR lays down initial project scaffolding for DeepVision AI: configuration loading, baseline documentation, a conda environment definition, and some “test” entrypoints intended to exercise dataset/config components.
Changes:
- Added YAML-based configuration utilities and a default configuration file.
- Added project documentation (README, architecture, status/roadmap) and expanded
.gitignore. - Added test-like scripts under
tests/plus a condaenvironment.yml.
Reviewed changes
Copilot reviewed 9 out of 18 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_sequence_dataset.py | Adds a dataset smoke script, but currently imports a non-existent src.datasets module and runs IO at import time. |
| tests/test_dataset_builder.py | Adds a dataset-indexer smoke script, but currently imports a non-existent src.datasets module and runs IO at import time. |
| tests/test_config.py | Adds a config smoke script; should be a real test with assertions (currently prints and runs at import time). |
| src/utils/config.py | Introduces YAML config loading/printing helpers; needs doc/API contract alignment (validation vs load-only, return type guarantees). |
| src/utils/init.py | Marks src.utils as a package. |
| src/training/init.py | Marks src.training as a package. |
| src/preprocessing/init.py | Marks src.preprocessing as a package. |
| src/models/init.py | Marks src.models as a package. |
| src/inference/init.py | Marks src.inference as a package. |
| src/explainability/init.py | Marks src.explainability as a package. |
| src/evaluation/init.py | Marks src.evaluation as a package. |
| src/init.py | Marks src as a package. |
| README.md | Adds a top-level project overview and points to the status roadmap. |
| PROJECT_STATUS.md | Adds sprint/status roadmap content. |
| environment.yml | Defines a conda environment, but currently omits explicit PyTorch deps despite torch usage in the codebase. |
| docs/ARCHITECTURE.md | Adds an architecture doc, but includes module paths (e.g., src/datasets/) that don’t exist in-repo. |
| configs/default.yaml | Adds a default YAML configuration used by load_config(). |
| .gitignore | Expands ignores, but introduces duplicate patterns that reduce maintainability. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,24 @@ | |||
| from src.datasets.sequence_dataset import SequenceDataset | |||
Comment on lines
+1
to
+24
| from src.datasets.sequence_dataset import SequenceDataset | ||
|
|
||
| dataset = SequenceDataset( | ||
| csv_file="outputs/dataset_index.csv", | ||
| sequence_root="data/intermediate/sequences" | ||
| ) | ||
|
|
||
| print("Dataset Size:", len(dataset)) | ||
|
|
||
| sample = dataset[0] | ||
|
|
||
| print() | ||
|
|
||
| print("Sequence Shape :", sample["sequence"].shape) | ||
| print("Sequence Type :", sample["sequence"].dtype) | ||
| print("Label :", sample["label"]) | ||
| print("Dataset :", sample["dataset"]) | ||
| print("Video :", sample["video_name"]) | ||
|
|
||
| print() | ||
|
|
||
| print("Min:", sample["sequence"].min()) | ||
|
|
||
| print("Max:", sample["sequence"].max()) No newline at end of file |
| @@ -0,0 +1,15 @@ | |||
| from src.datasets.tf_dataset_builder import DatasetIndexer | |||
Comment on lines
+1
to
+15
| from src.datasets.tf_dataset_builder import DatasetIndexer | ||
|
|
||
| builder = DatasetIndexer("data/raw") | ||
|
|
||
| samples = builder.scan() | ||
|
|
||
| builder.summary() | ||
|
|
||
| # Save dataset index | ||
| builder.save_index("outputs/dataset_index.csv") | ||
|
|
||
| print("\nFirst 10 Samples\n") | ||
|
|
||
| for sample in samples[:10]: | ||
| print(sample) No newline at end of file |
Comment on lines
+1
to
+6
| from src.utils.config import load_config, print_config | ||
|
|
||
|
|
||
| config = load_config() | ||
|
|
||
| print_config(config) No newline at end of file |
Comment on lines
+1
to
+5
| """ | ||
| Configuration utilities for DeepVision AI | ||
|
|
||
| Loads and validates YAML configuration files. | ||
| """ |
Comment on lines
+11
to
+32
| def load_config(config_path: str = "configs/default.yaml"): | ||
| """ | ||
| Load YAML configuration file. | ||
|
|
||
| Args: | ||
| config_path (str): Path to YAML configuration. | ||
|
|
||
| Returns: | ||
| dict: Configuration dictionary. | ||
| """ | ||
|
|
||
| config_path = Path(config_path) | ||
|
|
||
| if not config_path.exists(): | ||
| raise FileNotFoundError( | ||
| f"Configuration file not found: {config_path}" | ||
| ) | ||
|
|
||
| with open(config_path, "r", encoding="utf-8") as file: | ||
| config = yaml.safe_load(file) | ||
|
|
||
| return config |
Comment on lines
+7
to
+22
| dependencies: | ||
| - python=3.10 | ||
| - pip | ||
|
|
||
| - numpy | ||
| - pandas | ||
| - matplotlib | ||
| - scikit-learn | ||
| - scikit-image | ||
| - pyyaml | ||
| - tqdm | ||
|
|
||
| - pip: | ||
| - opencv-python | ||
| - facenet-pytorch | ||
| - timm No newline at end of file |
| ``` | ||
| src/ | ||
|
|
||
| datasets/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.