Jesse C. Lin's starred repositories
AD_SAR_ADC
Digital Standard Cells based SAR ADC
asic-pinout-drawer
Simple pin assignment generator for IC case
basejump_stl
BaseJump STL: A Standard Template Library for SystemVerilog
VerifCoverage
Automation for easier functional coverage for ASIC development.
cocotb-coverage
Functional Coverage and Constrained Randomization Extensions for Cocotb
cosim_bfm_library
HW-SW Co-Simulation Library for AMBA AXI BFM using DPI/VPI
Pythia-HDL
Implementation of Pythia: A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning in Chisel HDL. To know more, please read the paper that appeared in MICRO 2021 by Bera et al. (https://arxiv.org/pdf/2109.12021.pdf).
RL_interferometer_alignment
Aligning an optical interferometer with beam divergence control and continuous action space.
pev_battery_charge
Battery charge management environment, designed as a multi-agent scenario with continuous observation and action space, where the agents are charging stations that must meet the energy requirements of a previously-scheduled group of PEVs (Plug-in Electric Vehicles), constrained to a local power supply restriction, and a global restriction from the containing Load Area.
spriteworld
Spriteworld: a flexible, configurable python-based reinforcement learning environment
RLCO-Papers
Paper collection of reinforcement learning based combinatorial optimization
2D-Simulation-ADT
A set of abstract classes and data types created in python to simulate the movement and behavior of 2D shapes when exposed to forces
Interactive-Semi-Automatic-Image-2D-Bounding-Box-Annotation-Tool-using-Multi-Template_Matching
Interactive Semi Automatic Image 2D Bounding Box Annotation and Labelling Tool using Multi Template Matching An Interactive Semi Automatic Image 2D Bounding Box Annotation/Labelling Tool to aid the Annotater/User to rapidly create 2D Bounding Box Single Object Detection masks for large number of training images in a semi automatic manner in order to train an object detection deep neural network such as Mask R-CNN or U-Net. As the Annotater/User starts annotating/labelling by drawing a bounding box for a few number of images in the selected folder then the algorithm suggests bounding box predictions for the rest of the yet to be annotated/labelled images in the folder. If the predictions are right then the user/annotater can simply press the keyboard key 'y' which indicates that the detected bounding box is correct. If the prediction is wrong then the user/annotater can manually draw a rectangular 2D bounding box over the correct ROI (Region of interest) in the image and then press the key 'y' to proceed further to the rest of the images in the folder. If the user/annotater made a mistake while drawing the 2D bounding box, then he/she can press the key 'n' in order to remove the incorrectly marked 2D bounding box and he/she can repeat the process for the same image until he/she draws the correct 2D bounding box and then after drawing the correct 2D bounding box, the user/annotater may press the key 'y' to continue to the rest of the images. The 2D bounding box prediction over the whole image data set improves as the user/annotater annotates/labels more number of images by drawing 2D bounding boxes. This tool allows the user/annotater to not only interactively and rapidly annotate large number of images but also to validate the predictions at the same time interactively. This tool helps the user/annotater to save a lot of time when annotating/labelling and validating the predictions for a large number of training images in a folder. Instructions to use:- 1. If the training images are in JPEG or any other format, then convert them to PNG format using some other tool or program before using these images for annotation. 2. All the training images must contain the object of interest which is to be annotated. 3. Currently the application only supports 2D bounding box annotation for single object detection per image, but in the future semantic segmentation based annotation features will be added which will allow precise boundary segmentation masks of an object in an image. 4. If some or all of the training images have varying dimensions(shapes/resolutions), then resize them to the same dimensions using this tool by providing the height and width to which all the training images need to be resized to. The height and width are inputed separately in two different dialog boxes which pop up once the program is executed. If the training images need not be resized then press the cancel button in the dialog boxes requesting the height and width. 5. Select the folder containing the training images by navigating to the folder containing the training images through a dialog box which pops up after the program is executed. If the images need to be resized then two dialog boxes pop up. The first dialog box is to navigate to the destination folder containing the unresized raw training images and after resizing another dialog box pops up to navigate to the folder containing the saved resized training images named as "resized_data". If the images need not be resized then only one dialog box pops up so that the user can navigate to the raw training images folder directly. 6. The images in the folder pop up one by one. After drawing the correct 2D bounding box over the ROI (region of Interest), press the 'y' key. Except the first image, the rest of the images will have a 2D bounding box drawn over them. If the predicted box is accurate, then continue by pressing the 'y' key. If the prediction is incorrect, then draw the accurate bounding box and press the 'y' key. If any mistake occured while drawing the 2D box, then reset the image by removing the incorrect drawing by pressing the 'n' key and then draw the correct box and press the 'y' key. 7. The output images are stored in four different folders in the same directory containing the training images folder. among the four folders, one contains the cropped templates of the bounding boxes, black and white mask images, training images and the images with 2D box detection markings.
2D-Shape-Physics
Simulates the physics of a shape moving through 2D space.