DIY一个以图搜图引擎1

这位用户一定是位机器学习资深玩家!

吉娃娃和小松糕....的故事,大家应该都看过吧,上面这图也是类似的,有很多长得像脸的食物,以至于让我训练的模型都认为是多个人。。

我还找出了不少的小动物们:

喜欢路飞的用户们:

这2用户很配:

这一组,有没有很酷:

美女/帅哥组,这个不方便公布。

“  插播一则硬广:

免费社群--MixLab微信群

聚集各路跨界能手——有各领域的设计师、程序员、算法专家。也许我们可以一块做点好玩的事情。如需入群可以联系我。 

这是怎么实现的?

本次试验采用Apple开源的Turicreate框架,只需简单行代码即可实现。我们继续使用Docker作为开发环境,在官网

https://store.docker.com/

搜索,找到turicreate的镜像。

1 开发环境准备

终端输入:

docker pull tomirving92/turicreate

下载成功后,终端输入:

docker run --name wx_users -it -p 8888:8888 -v /Users/shadow/Documents/02-coding/kerasStudy:/root/kerasStudy  tomirving92/turicreate bash

进入伪终端中,安装jupyter,输入:

python -m pip install --upgrade pip python -m pip install jupyter

安装vim,终端输入:

apt-get install vim

vim 主要用来浏览和修改文本内容的:

按键盘上的ESC可以切换至什么模式?VimInsert Mode 输入模式BVisual Mode 视图模式CNormail Mode 命令模式AInsert Mode 输入模式BBVisual Mode 视图模式CCNormail Mode 命令模式AA

再来一张答题卡:
命令模式下保存并退出是哪个命令?Vim:wqB:q!C:AA:q!CC:AAA:wqBB

轻交互的公众号文章:

第一期 超简单的AI自测题

第二期 喵星人密信

终端输入:

jupyter notebook --generate-config --allow-root

运行成功后显示:

Writing default config to: /root/.jupyter/jupyter_notebook_config.py

终端输入:

vim /root/.jupyter/jupyter_notebook_config.py

编辑文件:

#绑定所有地址
c.NotebookApp.ip='*'

#启动后是否在浏览器中自动打开
c.NotebookApp.open_browser = False
#端口
c.NotebookApp.port =8888

保存文件,关于如何编辑与保存,请做完vim答题卡后查阅相关资料。

运行jupyter,终端输入:

jupyter notebook --allow-root

打开浏览器,输入

http://localhost:8888/

把终端显示的token输入页面所示的位置,即可使用notebook

http://localhost:8888/?token=**********

root目录下找到我们的项目目录,可根据个人情况自行建立。

root/kerasStudy/05-turicreate-notebooks

新建一个notebook

2 代码

行代码,完成从训练至查询相似图像、生成相似图集合的功能。

# 1 引用turicreate库

import turicreate as tc

# 2 读取用户的头像

ref_data  = tc.image_analysis.load_images('./data/userAvatar/ok')

#3 给每一行编号

ref_data = ref_data.add_row_number()

#4 从ref_data,创建图像相似模型

model = tc.image_similarity.create(ref_data,label=None, feature=None, model='resnet-50', verbose=True)

#5 查询与图像A相似的k个图像,此处ref_data[2:3]表示ref_data里的id为2的图像A,k=10表示查询10张 similar_images = model.query(ref_data[2:3],label=None, k=10, radius=None, verbose=False) #6 根据图像的相似度,生成相似图集合

similarity_graph = model.similarity_graph(k=20, radius=None, include_self_edges=False, output_type='SGraph', verbose=True) similar_images = similarity_graph.edges

码代码的时候,有不清楚的可以在知识星球求助:

“  

付费社群--知识星球

1 看到一些好案例,关键技术解决方案,写出文章又不成体系,发星球里最合适了;

2 我会在知识星球发一些非常机密的研究心得;

3 一些非常有技巧的知识,给付费用户;

4 公众号的迭代版本,针对文章发更为升级、核心的内容。

5 当然,还有资深的专家在星球里。

最后来个大图,头像关系错综复杂啊:

留待下一篇再介绍更好玩的:比如夫妻相之类的,逢年过节帮你自动生成个节庆头像之类的。。。

参考资料:

苹果的API文档写得很清楚:
https://apple.github.io/turicreate/docs/api/

关于:

本公众号定期更新人工智能&设计&科技内容。谈点设计,敲点代码,偶尔创作点人工智能实验产品

赞赏专用:

(0)

相关推荐

  • xshell、mobaxterm如何连接谷歌云(gcp)vm实例

    基于debain9的操作,若是centos7请看文档第四版操作的说明 1.使用gcp自带的浏览器shell登录vm实例 2.首先切换用户为root用户 sudo -i 3.为root用户设置密码 pa ...

  • Py之turicreate:turicreate的简介、安装、使用方法之详细攻略

    Py之turicreate:turicreate的简介.安装.使用方法之详细攻略 turicreate的简介 苹果开源Turi Create:让机器学习更容易!turicreate简化了定制机器学习模 ...

  • linux下修改只读文件如/etc/ld.so.conf

    方法一:用gedit修改 假如待修改文件为 /etc/ld.so.conf 在终端中输入命令:sudo gedit /etc/ld.so.conf 即可用管理员身份打开文件,修改并保存. 方法二:使用 ...

  • Python代码编辑器哪个好?这五个最常见!

    当我们初入门学习Python的时候,选择一款好用的Python代码编辑器是很重要的,可以让我们的开发效率事半功倍,今天小编为大家介绍五款顶级Python代码编辑器! 1.Sublime Text:Su ...

  • c#爬虫-1688官网自动以图搜图

    dotNET跨平台 今天 以下文章来源于UP技术控 ,作者conan5566 UP技术控不止IT 还有生活 背景 在1688有个功能,就是上传图片,就可以找到类似的商品.如下 网址 :https:// ...

  • 以图搜图

    以图搜图 以图搜图,是通过搜索图像文本或者视觉特征,为用户提供互联网上相关图形图像资料检索服务的专业搜索引擎系统,是搜索引擎的一种细分.通过输入与图片名称或内容相似的关键字来进行检索,另一种通过上传与 ...

  • 怎么找图片来源?最全以图搜图网站分享(结合具体搜图案例)

    前不久随手帮一网友找了张图,想了想中间的经历挺有意思,所以今天打算来说说以图搜图这个话题 第一部分,先介绍常用的识图引擎 第二部分,想分享一下阿虚自己的搜图经验,也是今天主要想分享的. ▍1 首先推荐 ...

  • 东方众落泪,网友拿了张东方的图去以图搜图,结果出来一堆面条

    今天的东方笑话又来了(误). 今天在群里看见一张图,真的不知道是该落泪还是该好笑啊,有朋友看视频的时候看到一张很好看的图,看起来应该是东方里的古明地恋?如果说得不对还请朋友们在评论区说说啊. 这位朋友 ...

  • 捷径 | 以图搜图,这个满分技能你一定要学会!

    今天教给大家一个必备的满分技能:以图搜图,这个功能和捷径之前就有简单说过,很多粉丝不知道什么意思,现在拎出来详细介绍一下 总的来说,以图搜图可以实现这两个强大的功能 1 找到某张图片的大尺寸原图 2 ...

  • 以图搜图技术栈

    先看个案例: 这是什么动画 https://whatanime.ga/ 一个用于通过动画截图找出处的搜索引擎.可以找到跟动画截图相似的动画片截图,并找到动画的详细介绍,动漫爱好者找动画出处的好帮手! ...

  • 菜鸟记630-今日推荐一个好用的搜素引擎

    万一您身边的朋友用得着呢? 各位朋友早上好,小菜继续和您分享经验之谈,截止今日小菜已分享600+篇经验之谈,可以文章编号或关键词进行搜索. 微信推送规则发生改变,如果您想看到小菜每个工作日的经验之谈, ...

  • DIY一个正则匹配引擎

    网上看过不少代码的教程,有些按照步骤来一段段代码解读(篇幅会很长),有些会简化代码来讲解,然后逐步扩展(篇幅也会很长),有些干脆直接源代码放出来,在上面注解.   我自己也一直在思考如何把代码讲解这件 ...

  • 分享一个利用集合竞价图抓涨停的技巧

    关键的来了,收盘后把昨天的涨停板都放到一个板块里,第二天开盘时盯住,继续封板的就不用看了,那些在集合竞价时间没有封板的,有可能是在开板后再封一次,这类股票的集合竞价特征就是,越低的价位上的匹配量越大, ...