An API for streamlining unsupervised ML ops such as visualizations, clustering, CNN insights, etc.
Project description
A collection of deep learning -- computer vision utility functions
Installation
pip install optical_toolkit
Visualize
- Visualize a dataset in a grid
from sklearn.datasets import load_digits
from optical_toolkit.visualize import plot_images
X, y = load_digits()
plot_images(X, targets=y)
- Summarize a dataset by classes
from sklearn.datasets import load_digits
from optical_toolkit.visualize import plot_images
X, y = load_digits()
summarize_images(X, targets=y, num_images_per_class=10, num_classes=10)
- Visualize the 2d and 3d embeddings of images
from sklearn.datasets import load_digits
from optical_toolkit.visualize.embeddings import get_embeddings
X, y = load_digits()
2d_embeddings, fig_2d = get_embeddings(X, y, dims=2, embedding_type="tsne", return_plot=True)
3d_embeddings, fig_3d = get_embeddings(X, y, dims=3, embedding_type="tsne", return_plot=True)
Insight
- Visualize the filters of a (trained) CNN model
from optical_toolkit.cnn_filters import display_filters, display_model_filters
model_name = "xception"
layer_names = [
"block2_sepconv1",
"block5_sepconv1",
"block9_sepconv1",
"block14_sepconv1",
]
for layer_name in layer_names:
display_filters(
model=model_name,
layer_name=layer_name,
)
display_model_filters(model=model_name)
- Visualize the filters of your custom CNN with custom objects
import keras
model_name = "examples/custom_models/svdnet.keras"
dir_name = "examples/insights"
@keras.saving.register_keras_serializable()
class ResidualConvBlock(keras.layers.Layer):
...
display_model_filters(
model_name,
custom_layer_prefix="residual",
)
Analyze
- A high level function for image dataset analysis
from sklearn.datasets import load_digits
from optical_toolkit.analyze.analyze import analyze_image_dataset
digits = load_digits()
X = digits.images
y = digits.target
analyze_image_dataset(X, y, output_path="examples/analyze/analysis.pdf")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
optical_toolkit-1.3.1.tar.gz
(16.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file optical_toolkit-1.3.1.tar.gz.
File metadata
- Download URL: optical_toolkit-1.3.1.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.0 CPython/3.10.18 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8deca47cbef39ef1604096db1a8f95175e1a6dae5741273203675192ce050936
|
|
| MD5 |
3c0a8a18ddd5644c7ffbcda6d6e09eed
|
|
| BLAKE2b-256 |
f068db32a834a626c3f6c01c6f9a0d42931d30c66bbe8ee67e7ea129bcbb3271
|
File details
Details for the file optical_toolkit-1.3.1-py3-none-any.whl.
File metadata
- Download URL: optical_toolkit-1.3.1-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.0 CPython/3.10.18 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6cbdd0ca29313307d032a1fb92f5f2c2494abeae66f0e1859224fcee480c655
|
|
| MD5 |
6e1f8b960ba51fcc110cdfab0cfd30cd
|
|
| BLAKE2b-256 |
0072249cc65dff5c31bf993a1c05dd2fffec3b49ba6d0655ffa8f239a2bd71bd
|