1 Star 0 Fork 0

data_factory/ONNX-YOLO-World-Open-Vocabulary-Object-Detection

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
save_class_embeddings.py 1.31 KB
一键复制 编辑 原始数据 按行查看 历史
Ibai Gorordo 提交于 2024-04-07 11:47 . Initial release
from argparse import ArgumentParser
import numpy as np
import torch
from yoloworld import TextEmbedder
def main():
parser = ArgumentParser()
parser.add_argument("classes", type=str, nargs="+",
help='List of classes separated by space. You can use "-" for multiple words per class. Example: cat dog street-light')
parser.add_argument("--output_dir", type=str, default="data", help="Output file to save class embeddings")
parser.add_argument("--output_name", type=str, default="class_embeddings.npz", help="Output file name")
parser.add_argument("--device", type=str, default="cuda" if torch.cuda.is_available() else "cpu")
args = parser.parse_args()
# Initialize text embedder
text_embedder = TextEmbedder(device=args.device)
# Replace - or _ with space in class names
classes = [class_name.replace("-", " ").replace("_", " ") for class_name in args.classes]
# Get text embeddings
class_embeddings = text_embedder(classes)
# Convert to numpy array
class_embeddings = class_embeddings.cpu().numpy().astype(np.float32)
# Save class embeddings and classes
output_path = args.output_dir + "/" + args.output_name
np.savez(output_path, class_embeddings=class_embeddings, class_list=np.array(args.classes))
if __name__ == "__main__":
main()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/data_factory/ONNX-YOLO-World-Open-Vocabulary-Object-Detection.git
git@gitee.com:data_factory/ONNX-YOLO-World-Open-Vocabulary-Object-Detection.git
data_factory
ONNX-YOLO-World-Open-Vocabulary-Object-Detection
ONNX-YOLO-World-Open-Vocabulary-Object-Detection
main

搜索帮助