ONNX 模型库
返回模型

说明文档

一个简单的小型网络,用于为黑白二值图像生成嵌入向量。接收32x32的绘图并生成64维的嵌入。

您可以在 https://huggingface.co/spaces/JosephCatrambone/tiny_doodle_embedding 查看实际运行效果。

输入格式:

该模型期望输入为 (b, 32, 32) 的float32张量,通常0.0表示"背景",1.0表示"前景",类似于MNIST格式。 该模型使用QuickDraw数据进行训练,图像数据对齐到左上角(0,0),因此在使用该模型时,请确保将图像对齐到左上角。

输出:

给定一个批次,模型将生成一个归一化的 矩阵,包含浮点数。

使用示例:

import onnxruntime as ort
import numpy

ort_sess = ort.InferenceSession('tiny_doodle_embedding.onnx')

def compare(input_img_a, input_img_b):
    img_a = process_input(input_img_a)  # Crop and resize the input image so it's binary and fits in a 32x32 array.
    img_b = process_input(input_img_b)

    a_embedding = ort_sess.run(None, {'input': img_a.astype(numpy.float32)})[0]
    b_embedding = ort_sess.run(None, {'input': img_b.astype(numpy.float32)})[0]

    sim = numpy.dot(a_embedding , b_embedding.T)  # Or a_embedding @ b_embedding.T

训练详情:

该模型使用Google QuickDraw数据集中的图像进行训练,图像被栅格化为32x32的二值图像。数据增强比较基础,包括噪声和偶尔的膨胀操作。

该模型在消费级nVidia 3090上训练了100个epoch。

训练运行的详细信息可在 https://wandb.ai/josephc/tiny_doodle_model/runs/7wqz4w7g?nw=nwuserjosephc 查看

能耗与环保考量:

最终版本的训练过程功耗为120W,持续时间为570分钟。训练过程中产生的余热被用于作者家庭的供暖,替代了燃气供暖。

JosephCatrambone/tiny_doodle_embedding

作者 JosephCatrambone

image-feature-extraction
↓ 0 ♥ 1

创建时间: 2025-05-10 17:01:35+00:00

更新时间: 2025-05-11 21:29:13+00:00

在 Hugging Face 上查看

文件 (6)

.gitattributes
README.md
tiny_doodle_embedding.onnx ONNX
tiny_doodle_embedding.pt
tiny_doodle_embedding.safetensors
tiny_doodle_embedding_model.py