当前位置: 首页 > news >正文

让人做网站需要准备什么条件进一步加强舆情管控

让人做网站需要准备什么条件,进一步加强舆情管控,塘厦医院,现在的网站一般做多宽最好作者#xff1a;Radovan Ondas 在本文章#xff0c;我们将了解如何通过几个步骤在 Elastic 中实施相似图像搜索。 开始设置应用程序环境#xff0c;然后导入 NLP 模型#xff0c;最后完成为你的图像集生成嵌入。 Elastic 图像相似性搜索概览 如何设置环境 第一步…作者Radovan Ondas 在本文章我们将了解如何通过几个步骤在 Elastic 中实施相似图像搜索。 开始设置应用程序环境然后导入 NLP 模型最后完成为你的图像集生成嵌入。 Elastic 图像相似性搜索概览 如何设置环境 第一步是为你的应用程序设置环境。 一般要求包括 GitPython 3.9Docker数百张图片 使用数百张图像以确保获得最佳效果非常重要。 转到工作文件夹并检查创建的存储库代码。 然后导航到存储库文件夹。 git clone https://github.com/radoondas/flask-elastic-image-search.git cd flask-elastic-image-search $ git clone https://github.com/radoondas/flask-elastic-image-search.git Cloning into flask-elastic-image-search... remote: Enumerating objects: 105, done. remote: Counting objects: 100% (105/105), done. remote: Compressing objects: 100% (72/72), done. remote: Total 105 (delta 37), reused 94 (delta 27), pack-reused 0 Receiving objects: 100% (105/105), 20.72 MiB | 9.75 MiB/s, done. Resolving deltas: 100% (37/37), done. $ cd flask-elastic-image-search/ $ pwd /Users/liuxg/python/flask-elastic-image-search 因为你将使用 Python 来运行代码所以你需要确保满足所有要求并且环境已准备就绪。 现在创建虚拟环境并安装所有依赖项。 python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt 安装 如果你还没有安装好自己的 Elasticsearch 及 Kibana请参考如下的文章来进行安装 如何在 LinuxMacOS 及 Windows 上进行安装 Elasticsearch Kibana如何在 LinuxMacOS 及 Windows 上安装 Elastic 栈中的 Kibana 特别注意的是我们将以最新的 Elastic Stack 8.6.1 来进行展示。请参考 Elastic Stack 8.x 的文章进行安装。 启动白金版试用功能 由于上传模型是一个白金版的功能我们需要启动试用功能。更多关于订阅的信息请参考网址订阅 | Elastic Stack 产品和支持 | Elastic。 这样我们就成功地启动了白金版试用功能。  Elasticsearch 集群和嵌入模型 登录到你的帐户以启动 Elasticsearch 集群。 设置一个小型集群 一个具有 2GB 内存的 HOT 节点一个具有 4GB 内存的 ML机器学习节点此节点的大小很重要因为你将导入 Elasticsearch 的 NLP 模型会消耗约 1.5GB 的内存。 部署准备就绪后转到 Kibana 并检查机器学习节点的容量。 你将在视图中看到一个机器学习节点。 目前没有加载模型。 使用 Eland 库从 OpenAI 上传 CLIP 嵌入模型。 Eland 是一个 Python Elasticsearch 客户端用于在 Elasticsearch 中探索和分析数据能够处理文本和图像。 您将使用此模型从文本输入生成嵌入并查询匹配图像。 在 Eland 库的文档中找到更多详细信息。 对于下一步你将需要 Elasticsearch 端点。 你可以从部署详细信息部分的 Elasticsearch 云控制台获取它。 在本示例中我们将使用本地部署来进行展示所以我们并不必要完成上面的步骤。 Eland Eland 可以通过 pip 从 PyPI 安装。在安装之前我们需要安装好自己的 Python。 $ python --version Python 3.10.2 可以使用 Pip 从 PyPI 安装 Eland python -m pip install eland 也可以使用 Conda 从 Conda Forge 安装 Eland conda install -c conda-forge eland 希望在不安装 Eland 的情况下使用它的用户为了只运行可用的脚本可以构建 Docker 容器 git clone https://github.com/elastic/eland cd eland docker build -t elastic/eland . Eland 将 Hugging Face 转换器模型到其 TorchScript 表示的转换和分块过程封装在一个 Python 方法中 因此这是推荐的导入方法。 安装 Eland Python 客户端。运行 eland_import_hub_model 脚本。 例如 eland_import_hub_model --url clusterUrl \ --hub-model-id elastic/distilbert-base-cased-finetuned-conll03-english \ --task-type ner 指定 URL 以访问你的集群。 例如https://user:passwordhostname:port。在 Hugging Face 模型中心中指定模型的标识符。指定 NLP 任务的类型。 支持的值为 fill_mask、ner、text_classification、text_embedding, question_answering 和 zero_shot_classification。上传模型 我们使用如下的命令来进行上传模型 eland_import_hub_model --url https://user:passwordhostname:port \--hub-model-id sentence-transformers/clip-ViT-B-32-multilingual-v1 \--task-type text_embedding \--ca-certs your certificate \--start 针对我的情况 eland_import_hub_model --url https://elastic:ZgzSt2vHNwA6yPn-fllrlocalhost:9200 \--hub-model-id sentence-transformers/clip-ViT-B-32-multilingual-v1 \--task-type text_embedding \--ca-certs /Users/liuxg/elastic/elasticsearch-8.6.1/config/certs/http_ca.crt \--start 请注意 你需要根据自己的 Elasticsearch 访问端点用户名及密码来修改上面的设置同时你需要根据自己的配置修改上面的证书路径。 运行上面的命令 上面显示我们已经成功地上传了模型。我们可以到 Kibana 中进行查看 上面显示我们已经上传了所需要的 CLIP 模型并且它的状态是 started。 如何创建图像嵌入 在设置 Elasticsearch 集群并导入嵌入模型后你需要矢量化图像数据并为数据集中的每个图像创建图像嵌入。  要创建图像嵌入请使用简单的 Python 脚本。 你可以在此处找到该脚本create-image-embeddings.py。 该脚本将遍历你的图像目录并生成单独的图像嵌入。 它将使用名称和相对路径创建文档并使用提供的映射将其保存到 Elasticsearch 索引 my-image-embeddings 中。 将所有图像照片放入文件夹 app/static/images。 使用带有子文件夹的目录结构来组织图像。 所有图像准备就绪后使用几个参数执行脚本。 至少要有几百张图像才能获得合理的结果这一点至关重要。 图像太少不会产生预期的结果因为你要搜索的空间非常小而且到搜索向量的距离也非常相似。我尝试在网上下载很多的照片但是感觉一张一张地下载非常麻烦。你可以在谷歌浏览器中添加插件 Image downloader - Imageye。它可以方便地把很多照片一次下载下来。 在 image_embeddings 文件夹中运行脚本并为变量使用你的值。 cd image_embeddings python3 create-image-embeddings.py \--es_hosthttps://localhost:9200 \--es_userelastic --es_passwordZgzSt2vHNwA6yPn-fllr \--ca_certs/Users/liuxg/elastic/elasticsearch-8.6.1/config/certs/http_ca.crt 根据图像的数量、它们的大小、你的 CPU 和你的网络连接此任务将需要一些时间。 在尝试处理完整数据集之前先试验少量图像。脚本完成后吧可以使用 Kibana 开发工具验证索引 my-image-embeddings 是否存在并具有相应的文档。 我们在Kibana 中进行查看 GET _cat/indices/my-image-embeddings?v 上面命令的响应为 health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open my-image-embeddings h6oUBdHCScWmXOZaf57oWg 1 1 145 0 1.4mb 1.4mb 查看文档你会看到非常相似的 JSON 对象如示例。 你将在图像文件夹中看到图像名称、图像 ID 和相对路径。 此路径用于前端应用程序以在搜索时正确显示图像。JSON 文档中最重要的部分是包含 CLIP 模型生成的密集矢量的 image_embedding。 当应用程序正在搜索图像或类似图像时使用此矢量。 GET my-image-embeddings/_search {_index: my-image-embeddings,_id: _g9ACIUBMEjlQge4tztV,_score: 6.703597,_source: {image_id: IMG_4032,image_name: IMG_4032.jpeg,image_embedding: [-0.3415695130825043,0.1906963288784027,.....-0.10289803147315979,-0.15871885418891907],relative_path: phone/IMG_4032.jpeg} } 使用 Flask 应用程序搜索图像 现在你的环境已全部设置完毕你可以进行下一步使用我们作为概念证明提供的 Flask 应用程序使用自然语言实际搜索图像并查找相似图像。 该 Web 应用程序具有简单的 UI使图像搜索变得简单。 你可以在此 GitHub 存储库中访问原型 Flask 应用程序。 后台应用程序执行两个任务。 在搜索框中输入搜索字符串后文本将使用机器学习 _infer 端点进行矢量化。 然后针对带有向量的索引 my-image-embeddings 执行带有密集向量的查询。 你可以在示例中看到这两个查询。 第一个 API 调用使用 _infer 端点结果是一个密集矢量。 POST _ml/trained_models/sentence-transformers__clip-vit-b-32-multilingual-v1/_infer {docs : [{text_field: Yellow mountain is the most beautiful mountain in China}] } 上面的响应如下 在第二个任务中搜索查询我们将使用密集矢量并获得按分数排序的图像。  GET my-image-embeddings/_search {fields: [image_id,image_name,relative_path],_source: false,knn: {field: image_embedding,k: 5,num_candidates: 10,query_vector: [0.03395160660147667,0.007704082876443863,0.14996188879013062,-0.10693030804395676,...0.05140634626150131,0.07114913314580917]} } 要启动并运行 Flask 应用程序请导航到存储库的根文件夹并配置 .env 文件。 配置文件中的值用于连接到 Elasticsearch 集群。 你需要为以下变量插入值。 这些与图像嵌入生成中使用的值相同。  .env ES_HOSTURL:PORT ES_USERelastic ES_PWDpassword 为了能够使得我们自构建的 Elasticsearch 集群能够被正确地访问我们必须把 Elasticsearch 的根证书拷贝到 Flask 应用的相应目录中 flask-elastic-image-search/app/conf/ca.crt (.venv) $ pwd /Users/liuxg/python/flask-elastic-image-search/app/conf (.venv) $ cp ~/elastic/elasticsearch-8.6.1/config/certs/http_ca.crt ca.crt overwrite ca.crt? (y/n [n]) y 在上面我们替换了仓库中原有的证书文件 ca.crt。 准备就绪后运行主文件夹中的 flask 应用程序并等待它启动。 # In the main directory $ flask run --port5001 如果应用程序启动你将看到类似于下面的输出它在末尾指示你需要访问哪个 URL 才能访问该应用程序。 恭喜 你的应用程序现在应该已启动并正在运行并且可以通过互联网浏览器在 http://127.0.0.1:5001 上访问。 导航到图像搜索选项卡并输入描述你最佳图像的文本。 尝试使用非关键字或描述性文字。 在下面的示例中输入的文本是 “Yellow mountain is the most beautiful mountain in China”。 结果显示在我们的数据集中。 如果用户喜欢结果集中的一张特定图像只需单击它旁边的按钮就会显示类似的图像。 用户可以无限次地这样做并通过图像数据集构建自己的路径。 我们尝试另外的一个例子。这次我们输入I love beautiful girls。 搜索也可以通过简单地上传图像来进行。 该应用程序会将图像转换为矢量并在数据集中搜索相似的图像。 为此导航到第三个选项卡 “Similar Image”从磁盘上传图像然后点击 “Search”。 我们可以看到相似的图片。我们尝试使用一个女孩的照片再试试 因为我们在 Elasticsearch 中使用的 NLPsentence-transformers/clip-ViT-B-32-multilingual-v1模型是多语言的支持多语言推理所以尽量搜索自己语言的图片。 然后也使用英文文本验证结果。我们尝试使用 “黄山是中国最漂亮的山” 请务必注意使用的模型是通用模型这些模型非常准确但你获得的结果会因用例或其他因素而异。 如果你需要更高的精度则必须采用通用模型或开发自己的模型 —— CLIP 模型只是一个起点。 代码摘要 你可以在 GitHub 存储库中找到完整的代码。 你可能正在检查 routes.py 中的代码它实现了应用程序的主要逻辑。 除了明显的路线定义之外你还应该关注定义 _infer 和 _search 端点infer_trained_model 和 knn_search_images的方法。 生成图像嵌入的代码位于 create-image-embeddings.py文件中。 总结 现在你已经设置了 Flask 应用程序你可以轻松地搜索你自己的图像集 Elastic 在平台内提供了矢量搜索的原生集成避免了与外部进程的通信。 你可以灵活地开发和使用你可能使用 PyTorch 开发的自定义嵌入模型。 语义图像搜索具有其他传统图像搜索方法的以下优点 更高的准确度向量相似性捕获上下文和关联而不依赖于图像的文本元描述。增强的用户体验与猜测哪些关键字可能相关相比描述你正在寻找的内容或提供示例图像。图像数据库的分类不用担心对图像进行分类——相似性搜索可以在一堆图像中找到相关图像而无需对它们进行组织。 如果你的用例更多地依赖于文本数据你可以在以前的博客中了解更多关于实现语义搜索和将自然语言处理应用于文本的信息。 对于文本数据向量相似度与传统关键词评分的结合呈现了两全其美的效果。 准备好开始了吗 在我们的虚拟活动中心报名参加矢量搜索实践研讨会并在我们的在线论坛中与社区互动。
http://www.w-s-a.com/news/195473/

相关文章:

  • 小说网站开发 公司可以做行程的网站
  • 古交市网站建设公司apk连接wordpress
  • 网页 网 址网站区别wordpress菜单居右
  • 网站建设搭建运营一台云服务器做多个网站
  • 用php做网站用什么框架推广网站推荐
  • 如何用二级域名做网站多用户网上商城
  • 河南省建设科技网站浅谈电子商务网站建设与规划
  • 网站空间需要续费青海网站建设推广
  • 网站开发本地环境企业网站建设排名口碑
  • 做新闻的网站怎样赚钱个人网站课程设计报告
  • 网站设计样例那个网站做图片好看
  • 小型公司网站建设深圳网络营销策划有限公司
  • 国内优秀企业网站做视频网站用什么系统
  • 网站建设入门pdfwordpress网站标题
  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书
  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载
  • 做网站要懂哪些wordpress 站点网络
  • 郑州外贸网站建设公司排名网站设计做啥好
  • 网站开发合同付款比例wordpress调用指定文章内容
  • 湖北平台网站建设哪里好辽宁建设工程信息网官网平台
  • 公司优化是什么意思?洛阳seo博客
  • 普通建站网站首页制作模板
  • 江苏城乡与住房建设厅网站wordpress 添加导航
  • 免费单页网站在线制作网站制作与网站建设pdf
  • 网站开发使用云数据库技术教程大连模板开发建站