How rivaldotimoty/skin_cancer_classifier works
This repository contains two implemented products: a financial-document RAG analyzer and a nine-class skin-lesion classifier. The analyzer turns uploaded reports into indexed, retrievable context for summaries and financial questions. The classifier supports both model training/evaluation and image inference through a Streamlit app or CLI, with Grad-CAM explanations and test-time augmentation. The graph follows documented and indexed references; several classifier orchestration details and the financial frontend are unsampled, so uncertain links are omitted.
Main entry points: pipeline.py RAG Pipeline · optimize_pipeline.py Training Pipeline · main.py Pipeline Entry · inference.py Image Inference
Components 26
Financial Ingestion
- Analyzer Entry
LLM/financial_analyzer/main.py - Financial UI
LLM/financial_analyzer/frontend - Financial Report
LLM/financial_analyzer/data/raw/BUMI - Laporan Keuangan Q1 31 Mar 2025.pdf - Document Loader
LLM/financial_analyzer/src/loader.py - Text Chunking
LLM/financial_analyzer/src/chunking.py
Financial Retrieval
- RAG Pipeline
LLM/financial_analyzer/src/pipeline.py - Retriever
LLM/financial_analyzer/src/retriever.py - Embedding
LLM/financial_analyzer/src/embedding.py - FAISS Index
LLM/financial_analyzer/vector_store/faiss_index - Ollama
- LLM Client
LLM/financial_analyzer/src/llm.py
Classifier Training
- Configuration
skin_cancer_classifier/config.py - Dataset Prep
skin_cancer_classifier/dataset.py - Data Analysis
skin_cancer_classifier/eda.py - Training Loop
skin_cancer_classifier/train.py - Training Pipeline
skin_cancer_classifier/optimize_pipeline.py - Evaluation
skin_cancer_classifier/evaluate.py - Pipeline Entry
skin_cancer_classifier/main.py - Model Outputs
skin_cancer_classifier/outputs
Classifier Inference
- Streamlit App
skin_cancer_classifier/app.py - Image Inference
skin_cancer_classifier/inference.py - Classifier Model
skin_cancer_classifier/model.py - Grad-CAM
skin_cancer_classifier/gradcam.py
Other components
- Analyst
- Image User
- CLI User
Connections 33
- Analyst → Financial UI: uses
- Financial UI → Analyzer Entry: submits requests
- Analyzer Entry → RAG Pipeline: invokes
LLM/financial_analyzer/main.py - Analyzer Entry → LLM Client: uses
LLM/financial_analyzer/main.py - RAG Pipeline → Document Loader: loads documents
LLM/financial_analyzer/src/pipeline.py - RAG Pipeline → Text Chunking: chunks documents
LLM/financial_analyzer/src/pipeline.py - RAG Pipeline → Retriever: builds index
LLM/financial_analyzer/src/pipeline.py - RAG Pipeline → Retriever: retrieves context
LLM/financial_analyzer/src/pipeline.py - RAG Pipeline → LLM Client: generates answers
LLM/financial_analyzer/src/pipeline.py - Retriever → Embedding: embeds queries
LLM/financial_analyzer/src/retriever.py - RAG Pipeline → FAISS Index: loads and saves index
LLM/financial_analyzer/src/pipeline.py - LLM Client → Ollama: calls API
LLM/financial_analyzer/src/llm.py - Image User → Streamlit App: uploads image
- CLI User → Image Inference: runs inference
skin_cancer_classifier/inference.py - Streamlit App → Image Inference: requests prediction
skin_cancer_classifier/app.py - Image Inference → Classifier Model: runs model
skin_cancer_classifier/inference.py - Image Inference → Grad-CAM: generates explanation
skin_cancer_classifier/inference.py - Image Inference → Configuration: reads settings
skin_cancer_classifier/inference.py - Classifier Model → Configuration: reads model settings
skin_cancer_classifier/model.py - Dataset Prep → Configuration: reads dataset settings
skin_cancer_classifier/dataset.py - Data Analysis → Configuration: reads paths and classes
skin_cancer_classifier/eda.py - Training Loop → Configuration: reads training settings
skin_cancer_classifier/train.py - Pipeline Entry → Dataset Prep: prepares splits
skin_cancer_classifier/main.py - Pipeline Entry → Data Analysis: runs analysis
skin_cancer_classifier/main.py - Pipeline Entry → Training Loop: trains model
skin_cancer_classifier/main.py - Pipeline Entry → Evaluation: evaluates predictions
skin_cancer_classifier/main.py - Pipeline Entry → Grad-CAM: visualizes samples
skin_cancer_classifier/main.py - Training Pipeline → Dataset Prep: creates dataloaders
skin_cancer_classifier/optimize_pipeline.py - Training Pipeline → Classifier Model: creates model
skin_cancer_classifier/optimize_pipeline.py - Training Pipeline → Training Loop: trains model
skin_cancer_classifier/optimize_pipeline.py - Training Pipeline → Evaluation: evaluates results
skin_cancer_classifier/optimize_pipeline.py - Training Pipeline → Grad-CAM: visualizes results
skin_cancer_classifier/optimize_pipeline.py - Training Pipeline → Model Outputs: writes reports and models