返回模型
说明文档
一个简单的小型网络,用于为黑白二值图像生成嵌入向量。接收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