Skip to content

gluongo89/NeuroMOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeuroMOS

NeuroMOS is a machine learning project that uses Artificial Neural Networks (ANNs) to model and predict the electrical characteristics of MOSFETs (Metal-Oxide-Semiconductor Field-Effect Transistors). The project generates synthetic MOSFET data including Id-Vg (drain current vs gate voltage) and Id-Vd (drain current vs drain voltage) curves, and trains neural networks to learn and predict these semiconductor device behaviors.

Features

  • MOSFET Data Generation: Create synthetic datasets for MOSFET Id-Vg and Id-Vd characteristics
  • Neural Network Training: Train ANNs using PyTorch and TensorFlow to model MOSFET behavior
  • Visualization: Generate plots and visualizations of MOSFET characteristics and model predictions
  • Model Analysis: Use SHAP (SHapley Additive exPlanations) for model interpretability

Program Structure

NeuroMOS/
├── 📊 Core Data Generation
│   ├── IdVg_generator.ipynb              # Main Id-Vg curve generator
│   └── notebook.ipynb                    # Additional notebook
│
├── 🧠 Neural Network Training
│   └── ANN_IdVg_IdVd/
│       ├── IdVd_notebook.ipynb           # Id-Vd characteristic modeling
│       ├── IdVg_IdVd_generator.ipynb     # Combined Id-Vg/Id-Vd generator
│       └── ANN_IdVg_IdVd/
│           └── shap_along_vd.npz         # SHAP analysis results
│
├── 📁 Generated Data (gitignored)
│   └── data/
│       ├── factorial_idvg_dataset.csv   # Main factorial design dataset
│       ├── MOSFET_IdVd_dataset.csv      # Id-Vd characteristics
│       ├── MOSFET_IdVg_dataset.csv      # Id-Vg characteristics
│       └── plots/                       # Generated visualizations
│           ├── IdVg_curves_Cox.png      # Cox parameter plots
│           ├── IdVg_curves_Vt.png       # Threshold voltage plots
│           └── IdVg_curves_mu.png       # Mobility parameter plots
│
├── 🔧 Configuration & Documentation
    ├── README.md                        # Project documentation
    ├── requirements.txt                 # Python dependencies
    ├── LICENSE                          # License information
    └── .gitignore                       # Git ignore rules


### Key Components

#### 🎯 Main Workflows
1. **Data Generation**: `IdVg_generator.ipynb` creates factorial design datasets with MOSFET parameters
2. **Model Training**: `ANN_IdVg_IdVd/` notebooks train neural networks on the generated data
3. **Analysis**: SHAP integration provides model interpretability and feature importance

#### 📊 Data Pipeline
- **Input**: MOSFET physical parameters (Vt, μ, Cox, W, L)
- **Processing**: Factorial design space exploration
- **Output**: Synthetic Id-Vg and Id-Vd characteristic curves
- **Storage**: Centralized `data/` folder with CSV datasets and PNG visualizations

#### 🧠 Neural Network Architecture
- **Frameworks**: PyTorch and TensorFlow implementations
- **Performance**: Achieved R² = 0.980 on MOSFET characteristic prediction
- **Interpretability**: SHAP analysis for understanding parameter influence

## Setup

### Prerequisites
- Python 3.11.3 (recommended)
- pyenv (for Python version management)

### Installation

1. **Clone the repository**:
   ```bash
   git clone https://github.com/gluongo89/NeuroMOS.git
   cd NeuroMOS
  1. Set up Python environment:

    pyenv local 3.11.3
    python -m venv .venv
    source .venv/bin/activate
    pip install --upgrade pip
    pip install -r requirements.txt
  2. Launch Jupyter Lab:

    jupyter lab

Dependencies

The project uses the following main libraries:

  • Machine Learning: PyTorch, TensorFlow, scikit-learn
  • Data Analysis: NumPy, Pandas
  • Visualization: Matplotlib, Seaborn
  • Model Interpretability: SHAP
  • Development Environment: JupyterLab

Quick Start

  1. Generate MOSFET Data: Start with IdVg_generator.ipynb to create synthetic Id-Vg curve data
  2. Train Neural Networks: Use notebooks in the ANN_IdVg_IdVd/ directory to train models
  3. Analyze Results: Explore model predictions and interpretability using the provided analysis tools

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors