This repository provides source code examples and Jupyter notebooks used in the online course named "AI for Power and Energy Systems: Applications, Challenges, and Opportunities" by Dr. Fran Li at the University of Tennessee.
The goal is to help participants run and explore the code during or after the course with minimal setup.
This repository currently contains the following Jupyter notebooks:
Demonstrates the use of Deep Neural Networks (DNN) to approximate a sine function.
Course context: Introduces fundamental concepts of deep learning and regression modeling using TensorFlow/Keras.
Implements a feed-forward Deep Neural Network (DNN) for generic one-dimensional regression tasks such as function fitting or load-curve prediction.
It provides multiple function modes to generate datasets, including:
"sin"– Sine wave function"cos"– Cosine wave function"exp"– Exponential function"log"– Logarithmic function"poly3"– Cubic polynomial function"custom"– User-defined function
Each option can be selected in the Section 0: Settings block.
The notebook supports configurable hyperparameters such as EPOCHS, HIDDEN_LAYERS, and TRAIN_RATIO, and provides an end-to-end workflow for model training, testing, and visualization.
This folder contains two key files:
-
dnn_load_curve.ipynb
(Available at: GitHub Link)
Demonstrates how to train a DNN on real-world load data to perform short-term load curve prediction. -
1min_load_linear.xlsx
(Available at: GitHub Link)
This Excel file contains one-minute interval load data used as the dataset for the notebook.
Note: Uploading the Excel File in Google Colab: To run the notebook in Google Colab, upload the Excel file named 1min_load_linear.xlsx directly into the Colab working directory.

Implements a Convolutional Neural Network (CNN) for analyzing a 5-bus power system.
Course context: Applies deep learning techniques to power system datasets, showing how CNNs can capture grid topology and operational features.
We provide two options depending on your background and environment:
- Upload the
.ipynbnotebook file(s) from this repository to Google Colab. - Simply open the file in Colab and click Run All.
- No local installation or configuration is required. This is the recommended method for first-time users.
If you already have Python and Jupyter installed on your computer:
-
Clone this repository or download the
.ipynbfiles. -
Make sure your Python environment includes the required packages:
numpy pandas matplotlib tensorflow pandapower jupyterlab -
Launch Jupyter Notebook or Jupyter Lab.
-
Open the
.ipynbfile and run the cells.
This option is more flexible for users with prior Python experience.
MIT License – Feel free to use and modify for learning and research purposes.