window10添加向量数据库以及调用

创建docker

1,在windows功能中打开Hyper-V 和 容器

2,进入https://www.docker.com/ ,下载windows版本进行安装

创建milvus及连接

1,创建milvus文件夹,在文件夹下建立conf,db,logs,pic,wal五个文件夹,把docker-compose.yml和server_config.yaml放如conf文件夹中,使用命令提示符进入到conf文件夹中,执行docker-compose up -d,执行结束后,再执行docker-compose up -d来查看运行状态,然后运行docker run -p 3000:3000 -e HOST_URL=http://192.168.10.171:3000 -e MILVUS_URL=192.168.10.171:19530 milvusdb/milvus-insight:latest 。在docker中即可看到

点击3000端口,通过3000接口进入到milvus界面。

2,python程序

1》创建集合

from pymilvus import FieldSchema, DataType, CollectionSchema, connections, Collection

#创建存储字段

id = FieldSchema(

name="id",

dtype=DataType.INT64,

is_primary=True,

)

vec = FieldSchema(

name="vec",

dtype=DataType.FLOAT_VECTOR,

dim=2048

)

schema = CollectionSchema(

fields=[id, vec],

description="Test search"

)

collection_name = "animal"

print("#########连接数据库##############")

connections.connect(

alias="default",

host='192.168.10.171',

port='19530'

)

print("#########根据上面得信息创建集合##############")

collection = Collection(

name=collection_name,

schema=schema,

using='default',

shards_num=2

)

print("#########关闭连接##############")

connections.disconnect("default")

2》添加数据

#print("#########连接数据库##############")

from towhee import pipeline

from pymilvus import connections, Collection

connections.connect(

alias="default",

host='192.168.10.171',

port='19530'

)

#print("#########插入数据##############")

p = pipeline('image-embedding')

output = p('http://localhost:54867/7.jpg')

data = [

[7],

[output],

]

collection = Collection("animal")

mr = collection.insert(data)

print(mr)

3》查询数据

import towhee

from django.http import HttpResponse

from pymilvus import connections,Collection

from towhee import pipeline

#获取图片向量查询的数据

def selectData(request):

connections.connect(host='192.168.10.171', port='19530')

t = (

towhee.glob['path']('E://milvus//coreCode//getImages//getImages//wwwroot//7.jpg')

.image_decode['path', 'img']()

.image_embedding.timm['img', 'vec'](model_name='resnet50')

.milvus_search['vec', 'results'](collection='animal')

.select['results']()  # 选择指定列;

.to_list()

)

tr = "";

for i in t:

for j in i.results:

tr = tr + "  " + str(j.id)

return HttpResponse(tr, content_type="application/json")

def selectvector(request):

#print("#########连接数据库##############")

connections.connect(

alias="default",

host='192.168.10.171',

port='19530'

)

#print("#########查询数据##############")

p = pipeline('image-embedding')

output = p('http://localhost:54867/7.jpg')

collection = Collection("animal")

search_params = {"metric_type": "L2", "params": {"nprobe": 1}, "search_length": 100}

tt = collection.search(

data=[output],

anns_field="vec",

param=search_params,

offset=0,

limit=3,

expr=None

)

#print("#########查询结果##############")

return HttpResponse(tt, content_type="application/json")

以图搜图(demo创建流程)的更多相关文章

  1. 以图搜图之模型篇: 基于 InceptionV3 的模型 finetune

    在以图搜图的过程中,需要以来模型提取特征,通过特征之间的欧式距离来找到相似的图形. 本次我们主要讲诉以图搜图模型创建的方法. 图片预处理方法,看这里:https://keras.io/zh/prepr ...

  2. 使用 selenium 实现谷歌以图搜图爬虫

    使用selenium实现谷歌以图搜图 实现思路 原理非常简单,就是利用selenium去操作浏览器,获取到想要的链接,然后进行图片的下载,和一般的爬虫无异. 用到的技术:multiprocessing ...

  3. Google 以图搜图 - 相似图片搜索原理 - Java实现

    前阵子在阮一峰的博客上看到了这篇<相似图片搜索原理>博客,就有一种冲动要将这些原理实现出来了. Google "相似图片搜索":你可以用一张图片,搜索互联网上所有与它相 ...

  4. 以图搜图(一):Python实现dHash算法(转)

    近期研究了一下以图搜图这个炫酷的东西.百度和谷歌都有提供以图搜图的功能,有兴趣可以找一下.当然,不是很深入.深入的话,得运用到深度学习这货.Python深度学习当然不在话下. 这个功能最核心的东西就是 ...

  5. Google 以图搜图 - 相似图片搜索原理 - Java实现 (转)

    前阵子在阮一峰的博客上看到了这篇<相似图片搜索原理>博客,就有一种冲动要将这些原理实现出来了. Google "相似图片搜索":你可以用一张图片,搜索互联网上所有与它相 ...

  6. [No000007]搜索引擎以图搜图的原理

    之前,Google把"相似图片搜索"正式放上了首页. 你可以用一张图片,搜索互联网上所有与它相似的图片.点击搜索框中照相机的图标. 一个对话框会出现. 你输入网片的网址,或者直接上 ...

  7. php 以图搜图

    感知哈希算法count < =5 匹配最相似count > 10 两张不同的图片var_dump(ImageHash::run('1.jpg’, '2.jpg’)); <?php c ...

  8. 谷歌百度以图搜图 "感知哈希算法" C#简单实现

    /// <summary> /// 感知哈希算法 /// </summary> public class ImageComparer { /// <summary> ...

  9. 【Java基础】Java类的加载和对象创建流程的详细分析

    相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下. 实例问题 实例代码 Parent类 package ...

  10. Java类的加载和对象创建流程的详细分析

    相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下: package com.test; public ...

随机推荐

  1. sqlSession封装以及CRUD的实现

    sqlSession封装以及CRUD的实现 封装MyBatisUtil dao 定义方法 映射文件写sql语句 daoimpl实现类 实现方法 test类测试方法 整体结构

  2. Proxyless Mesh 在 Dubbo 中的实践

    背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步.在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh ...

  3. Amber22 安装过程miniconda报错处理

    最近在安装amber22时,使用其官方说明安装,但在安装miniconda这一步出错,致使amber22安装不成功! 报错如下: CondaFileIOError: '/home/lbm/amber2 ...

  4. React中实现keepalive组件缓存效果

    背景:由于react官方并没有提供缓存组件相关的api(类似vue中的keepalive),在某些场景,会使得页面交互性变的很差,比如在有搜索条件的表格页面,点击某一条数据跳转到详情页面,再返回表格页 ...

  5. 【力扣】787. K 站中转内最便宜的航班加权——有向图最短路径

    前言 我感觉这题比较有代表性,所以记录一下,这题是加权有向图中求最短路径的问题. 题目 787. K 站中转内最便宜的航班 动态规划 假设有一条路径是[src, i, ..., j, dst],解法一 ...

  6. Mysql--回顾提要

    一.写在前 知识学了就忘!不用就忘!我太健忘!特此记录!用于复习打卡!Mysql干就完事了! 二.来辣! MyISAM表把自增主键最大id记录到文件,重启也不会丢.InnoDB记录到内存,重启数据库和 ...

  7. 使用gm/ID方法设计二级运算放大器

    1 设计指标 运算放大器采用图1所示的电路结构,电路中的电流源均采用共源共栅结构,可以获得较高的共模抑制比和电流复制精度.其性能指标为增益带宽积GBW=100MHz,负载电容CL=2pF.本设计采用的 ...

  8. 前端基础知识-react(一)个人学习记录 _

    待补充 reactive和ref

  9. C#,Winform软件防破译-源代码加密简单方法之.NET REACTOR(二)制作软件及软件试用时间限定

    二.简单介绍使用 .net reactor 软件制作试用软件,利用license制作授权软件的方法. 1.首先,生成试用版软件 设置主文件和附属文件,打开.net Reactor 设置试用期限,在Se ...

  10. python 动态导入库

    import sys sys.path.append("d:\\") ll = __import__("ll") if __name__ == '__main_ ...