Skip to content

Instantly share code, notes, and snippets.

View ShawnHymel's full-sized avatar

Shawn Hymel ShawnHymel

View GitHub Profile
@ShawnHymel
ShawnHymel / ollama-light-assistant.py
Last active September 21, 2024 16:05
Ollama Tool (Function Calling) Example on Raspberry Pi 5
"""
Ollama Light Assistant
Test the ability for LLMs to call tools (i.e. functions) from within the Ollama
environment on a Raspberry Pi with speech-to-text. Tested with a Raspberry Pi 5
(8 GB) and this USB microphone: https://www.adafruit.com/product/3367.
Connect an LED to GPIO 17 (physical pin 11 on the board) in an active high
configuration:
@ShawnHymel
ShawnHymel / tflite-runtime-example.md
Created July 2, 2024 18:55
tflite-runtime example

To perform object detection inference using a TensorFlow Lite model (.tflite) on a JPG image with tflite-runtime, you need to follow several steps including installation of the necessary packages, loading the model, preprocessing the input image, running inference, and handling the output. Here's a comprehensive guide:

1. Install tflite-runtime and Image Processing Library

You'll need to install tflite-runtime and Pillow for image processing. If you haven't installed these, you can do so using pip:

pip install tflite-runtime pillow

2. Prepare Your Model and Image

@ShawnHymel
ShawnHymel / classify-directory.py
Last active February 28, 2024 21:58
Edge Impulse - Classify all images in a directory
#!/usr/bin/env python
import device_patches # Device specific patches for Jetson Nano (needs to be before importing cv2)
import cv2
import os
import sys, getopt
import numpy as np
from edge_impulse_linux.image import ImageImpulseRunner
@ShawnHymel
ShawnHymel / ei_json_to_csv.ipynb
Last active September 22, 2023 10:15
Edge Impulse JSON to CSV
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@ShawnHymel
ShawnHymel / gym-recorder-demo.py
Last active December 11, 2022 22:44
OpenAI Gym Video Recorder
# This works for gym 0.26.2. It might not work on previous versions.
import gym
import cv2
fps = 30
# Create environment
env = gym.make('CartPole-v1', render_mode='rgb_array')
@ShawnHymel
ShawnHymel / magic_wand_standardized_inference.ino
Created October 10, 2022 19:38
Edge Impulse magic wand inference example
/**
* Magic Wand Inference Demo
*
* Attach a button to pin 2. Press button to start collection. Raw data will be
* collected and fed to the impulse for inference. Inference results are printed
* to the serial terminal.
*
* Author: Shawn Hymel (EdgeImpulse, Inc.)
* Date: October 10, 2022
* License: Apache-2.0 (apache.org/licenses/LICENSE-2.0)
@ShawnHymel
ShawnHymel / pygame-display-test.py
Created September 21, 2022 21:22
PyGame Display Test
"""
PyGame Display Test
Run to see if you can draw things in Pygame. Press 'esc` to exit. Run with
root privileges to draw on external monitor (e.g. from SSH).
"""
import pygame
# Initialize pygame
@ShawnHymel
ShawnHymel / printf_test.ino
Created August 28, 2022 18:02
Arduino printf test
#include <stdarg.h>
// Makeshift printf for the Serial terminal
void aprintf(const char *format, ...) {
static char print_buf[1024] = { 0 };
va_list args;
va_start(args, format);
int r = vsnprintf(print_buf, sizeof(print_buf), format, args);
va_end(args);
@ShawnHymel
ShawnHymel / time_series_dataset_curation.ipynb
Last active May 1, 2023 14:20
CSV Time Series Dataset Curation and Standardization
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@ShawnHymel
ShawnHymel / quantized-inference-example.py
Last active October 22, 2024 14:11
TensorFlow Lite (TFLite) Python Inference Example with Quantization
# TFLite quantized inference example
#
# Based on:
# https://www.tensorflow.org/lite/performance/post_training_integer_quant
# https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/Tensor.QuantizationParams
import numpy as np
import tensorflow as tf
# Location of tflite model file (float32 or int8 quantized)