The following commands are line by line instructions fed into the github copilot chat. The output can be found in the output folder.
Create a new folder under CodingWithLLMs called lecture and and empty files loading.py, visualization.py, algorithms.py and models.py
In lecture/loading.py implement a loader for mnist, fashion_mnist, cifar10, cifar100, svhn, and imagenet datasets
In lecture/visualization.py load a dataset with argument -data default mnist and write a function that plots ten images per class (in a grid) using a seed arg -seed default 42 Add the dataset as title to the plot, the class numbers as columns and the image index as rows Generate two plots for MNIST/CIFAR-10 showing the number of train/test samples per class
In lecture/models.py load a pretrained CNN model from huggingface that works for all datasets In models.py add a main that runs the model on -dataset default: MNIST and outputs all necessary statistics, print also inference progress. The progress bar should show the current batch, total batches, percentage, elapsed time, and estimated time remaining and the current accuracy. Add a visualization of the confusion matrix
Implement BFS, DFS, A* and Dijkstra in lecture/algorithms.py using the networkx library In lecture/algorithms.py add a visualization that uses as an example a planar graph with 20 nodes and 30 edges (plot this graph planar) and plot the first 5 steps of each algorithm on this graph using different colors for visited nodes, current node and the path found so far One plot per algorithm and 5 subplots per plot showing the subtree and visited nodes so far
Add docstrings to all functions and classes in the folder lecture Create a README.md in the folder lecture that explains the purpose of each file and gives an example of how to run each file from the command line
Create a tests folder under CodingWithLLMs/lecture with an empty init.py file Add test_loading.py, test_visualization.py, test_models.py and test_algorithms.py files In each test file add unit tests for the functions in the corresponding module using pytest Add a test.py to run all tests in the tests folder Update the README.md to include instructions on how to run the tests
Create a new folder chess under CodingWithLLMs and implement a chess engine that can play against itself using the python-chess library (with gui, for windows) Add a mode in the chess game to play against an engine with dropdown to select difficulty engines and levels
Create a new folder hanabi under CodingWithLLMs and implement a hanabi engine that can play against itself the cards game hanabi (with gui, for windows) Add a starting window to choose the number of players (2-5) Show the hints given by other players Make the gui look nice, i.e., place the players around a table and the cards (nicely illustrated) in a half-circle The hand-cards should be arranged around the respective player