本文介紹如何通過ModelScope魔搭社區中的視覺表征模型將圖片轉換為向量,并入庫至向量檢索服務DashVector中進行向量檢索。
ModelScope魔搭社區旨在打造下一代開源的模型即服務共享平臺,為泛AI開發者提供靈活、易用、低成本的一站式模型服務產品,讓模型應用更簡單。
ModelScope魔搭社區的愿景是匯集行業領先的預訓練模型,減少開發者的重復研發成本,提供更加綠色環保、開源開放的AI開發環境和模型服務,助力綠色“數字經濟”事業的建設。 ModelScope魔搭社區將以開源的方式提供多類優質模型,開發者可在平臺上免費體驗與下載使用。
在ModelScope魔搭社區,您可以:
免費使用平臺提供的預訓練模型,支持免費下載運行
一行命令實現模型預測,簡單快速驗證模型效果
用自己的數據對模型進行調優,定制自己的個性化模型
學習系統性的知識,結合實訓,有效提升模型研發能力
分享和貢獻你的想法、評論與模型,讓更多人認識你,在社區中成長
前提條件
DashVector:
已創建Cluster:創建Cluster
已獲得API-KEY:API-KEY管理
已安裝最新版SDK:安裝DashVector SDK
ModelScope:
已安裝最新版SDK:
pip install -U modelscope
商品圖像同款特征
簡介
本模型是對商品圖像進行表征向量提取,用戶可基于表征向量進行大規模的同款/相似款商品搜索;無需額外輸入,模型可自動進行箱包商品的主體摳圖,并基于主體提取結果完成表征向量提取。
模型ID | 向量維度 | 度量方式 | 向量數據類型 | 備注 |
damo/cv_resnet50_product-bag-embedding-models | 512 | Cosine | Float32 |
關于商品圖像同款特征模型更多信息請參考:商品圖像同款特征
使用示例
需要進行如下替換代碼才能正常運行:
DashVector api-key替換示例中的{your-dashvector-api-key}
DashVector Cluster Endpoint替換示例中的{your-dashvector-cluster-endpoint}
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from dashvector import Client
product_embedding = pipeline(
Tasks.product_retrieval_embedding,
model='damo/cv_resnet50_product-bag-embedding-models'
)
def generate_embeddings(img: str):
result = product_embedding(img)
return result['img_embedding']
# 創建DashVector Client
client = Client(
api_key='{your-dashvector-api-key}',
endpoint='{your-dashvector-cluster-endpoint}'
)
# 創建DashVector Collection
rsp = client.create('resnet50-embedding', dimension=512)
assert rsp
collection = client.get('resnet50-embedding')
assert collection
# 向量入庫DashVector
img_url = 'https://mmsearch.oss-cn-zhangjiakou.aliyuncs.com/maas_test_img/tb_image_share_1666002161794.jpg'
collection.insert(
('ID1', generate_embeddings(img_url))
)
# 向量檢索
docs = collection.query(
generate_embeddings(img_url)
)
print(docs)