Torch、Java、Milvus快速搭建以图搜图系统

1 原理概述

以图搜图大致原理(口水话版)

以图搜图,即通过一张图片去匹配数据库中的图片,找到最相似的N张图。在我们普通的搜索系统中,文字匹配的搜索单纯的MySQL数据库就能实现简单的搜索,但是图片就存在很多难点。

1、首先要解决的是图片怎么表达的问题,肯定不会是每个像素点去匹配,而是对图像提取特征。在传统的数字图像处理中,图像的特征有很多:颜色特征、纹理特征、关键点特征、几何特征,可以将具有代表性的特征提取处理归一化后形成一个多维向量去表示图片。在深度学习如火如荼的时代,卷积神经网络能更好的做到特征提取这个工作。

2、特征提取到了,自然而然的就是将每个图片的特征(即一个向量)存入数据库,要搜索一张图片时就去数据库匹配。第二个问题就是如何去匹配图片,两个向量相等?当然不是。我们用距离来表达两个向量的相似程度,距离越近就越相似。距离用得最多的就是欧式距离和余弦距离(简单来说区别就是欧氏距离体现数值上的差异、余弦距离体现方向上的相对差异)。

3、怎么判断两个图片是否相似解决了,通过距离!第三个问题:来一张图时去数据库查询怎么查?一个一个匹配,最后排个序?当然不是!MySQL可以建索引,这个好像建索引也无从下手。这里就需要借助向量搜索引擎了。目前开源的向量搜索引擎还是有很多的,这里采用Milvus这个开源项目实现向量搜索引擎,详细了解的去自行百度。

2、ResNet提取深度特征向量

环境:Pytorch1.1 python3.6 cuda9.0 采用pretrainedmodels库快速搭建ResNet(pip安装即可)

几行代码搭建出一个特征提取网络

from torch.autograd import Variable
import torch
import torch.nn as nn
import torchvision.transforms as transforms
import pretrainedmodels
from PIL import ImageTARGET_IMG_SIZE = 224
img_to_tensor = transforms.ToTensor()
def get_seresnet50():encoder = pretrainedmodels.se_resnet50()model = nn.Sequential(encoder.layer0,encoder.layer1,encoder.layer2,encoder.layer3,encoder.layer4,encoder.avg_pool   # 平均池化,张成一个[batchSize,2048]的特征向量)for param in model.parameters():param.requires_grad = Falsemodel.cuda()   # 使用GPU,CPU版去掉model.eval()return model# 特征提取
def extract_feature(model, imgpath):img = Image.open(imgpath)  # 读取图片img = img.resize((TARGET_IMG_SIZE, TARGET_IMG_SIZE))tensor = img_to_tensor(img)  # 将图片矩阵转化成tensortensor = tensor.cuda()  # GPUtensor = torch.unsqueeze(tensor, 0)result = model(Variable(tensor))result_npy = result.data.cpu().numpy()[0].ravel().tolist()return result_npy

利用serverSocket搭建服务器端,Java端通信,调用python的特征提取。

import socket
import threading
import json
from model import extract_feature, get_seresnet50def main():# 创建服务器套接字serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 获取本地主机名称host = socket.gethostname()# 设置一个端口port = 12345# 将套接字与本地主机和端口绑定serversocket.bind((host, port))# 设置监听最大连接数serversocket.listen(10)# 模型创建model = get_seresnet50()print("等待连接")while True:# 获取一个客户端连接clientsocket, addr = serversocket.accept()print("连接地址:%s" % str(addr))try:t = ServerThreading(model, clientsocket)  # 为每一个请求开启一个处理线程t.start()except Exception as identifier:print(identifier)passserversocket.close()passclass ServerThreading(threading.Thread):def __init__(self, model, clientsocket, recvsize=1024 * 1024, encoding="utf-8"):threading.Thread.__init__(self)self.model = modelself._socket = clientsocketself._recvsize = recvsizeself._encoding = encodingpassdef run(self):print("开启线程.....")try:# 接受数据msg = ''while True:# 读取recvsize个字节rec = self._socket.recv(self._recvsize)# 解码msg += rec.decode(self._encoding)# 文本接受是否完毕,因为python socket不能自己判断接收数据是否完毕,# 所以需要自定义协议标志数据接受完毕if msg.strip().endswith('over'):msg = msg[:-4]break# 解析json格式的数据# 调用神经网络模型处理请求res = extract_feature(self.model, msg)sendmsg = json.dumps(res)print(sendmsg)# 发送数据self._socket.send(("%s" % sendmsg).encode(self._encoding))except Exception as identifier:self._socket.send("500".encode(self._encoding))print(identifier)passfinally:self._socket.close()print("任务结束.....")if __name__ == "__main__":main()

3、Java端调用Python函数提取特征

package top.maolaoe.imgsearch.service;import org.springframework.stereotype.Service;import java.io.*;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;/*** 通过socket调用python获得图片的特征向量*/
@Service
public class FeatureService {private String HOST = "192.168.1.103";private final int PORT = 12345;public List<Float> remoteCall(String path){// 访问服务进程的套接字
//        System.out.println("调用远程接口:host=>"+HOST+",port=>"+PORT);try(Socket socket = new Socket(HOST, PORT)) {// 初始化套接字,设置访问服务的主机和进程端口号,HOST是访问python进程的主机名称,可以是IP地址或者域名,PORT是python进程绑定的端口号// 获取输出流对象OutputStream os = socket.getOutputStream();PrintStream out = new PrintStream(os);// 发送内容out.print(path);// 告诉服务进程,内容发送完毕,可以开始处理out.print("over");// 获取服务进程的输入流InputStream is = socket.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));String tmp = null;StringBuilder sb = new StringBuilder();// 读取内容while((tmp=br.readLine())!=null)sb.append(tmp).append('\n');// 解析结果tmp = sb.toString().substring(1, sb.length()-2);String[] split = tmp.split(",");List<Float> list = new ArrayList<Float>(split.length);for (int i = 0; i < split.length; i++) {list.add(Float.valueOf(split[i]));split[i] = null;}
//            System.out.println(list);
//            System.out.println(list.size());return list;} catch (IOException e) {e.printStackTrace();}return null;}public static void main(String[] args) throws IOException {FeatureService featureService = new FeatureService();featureService.remoteCall("E:\\data\\tx.jpg");}}

4、安装启动milvus向量搜索引擎

官方教程

注意修改配置文件中的内存大小以适应自己的机器,否则docker启动时报错。



5、编写milvus插入和搜索向量的方法

引入依赖:milvus中的guava容易与其他包冲突,单独引入

<dependency><groupId>io.milvus</groupId><artifactId>milvus-sdk-java</artifactId><exclusions><exclusion><groupId>com.google.guava</groupId><artifactId>guava</artifactId></exclusion></exclusions><version>0.8.2</version>
</dependency>

提供search和insert功能

package top.maolaoe.imgsearch.service;import com.google.gson.JsonObject;
import io.milvus.client.*;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class MilvusService {private MilvusClient client = new MilvusGrpcClient();private String collectionName;MilvusService(String host, int port, String collectionName, int nlist){this.collectionName = collectionName;//建立连接ConnectParam connectParam = new ConnectParam.Builder().withHost(host).withPort(port).build();try {client.connect(connectParam);//连接正常则创建collectionResponse responseCollect = createCollect(collectionName, 2048, 1024, MetricType.IP);System.out.println(responseCollect.getMessage());//创建索引if(createIndex(nlist)){System.out.println("创建索引");}else {System.out.println("索引创建失败");}} catch (ConnectFailedException e) {System.out.println("连接失败!");}}MilvusService(String host, int port, String collectionName){this(host, port, collectionName, 1000);}MilvusService(){this("localhost", 19530, "imgsearch");}/*** 插入特征向量* @param features* @return*/public List<Long> insertFeatures(List<List<Float>> features){//先判断是否正常连接boolean connected = client.isConnected();if(!connected){System.out.println("连接失败!!");}//插入特征向量InsertParam insertParam = new InsertParam.Builder(collectionName).withFloatVectors(features).build();InsertResponse insertResponse = client.insert(insertParam);client.flush(collectionName);boolean flag = insertResponse.ok();if(!flag){System.out.println("插入失败");return null;}List<Long> vectorIds = insertResponse.getVectorIds();return vectorIds;}/*** 查询相似的特诊向量* @param vectorsToSearch* @param topK* @return*/public SearchResponse searchFeature(List<List<Float>> vectorsToSearch, long topK, int nprobe){//先判断是否正常连接boolean connected = client.isConnected();if(!connected){System.out.println("连接失败!!");}JsonObject indexParamsJson = new JsonObject();indexParamsJson.addProperty("nprobe", nprobe);   //nprobe代表选择最近的多少个聚类去比较。SearchParam searchParam =new SearchParam.Builder(collectionName).withFloatVectors(vectorsToSearch).withParamsInJson(indexParamsJson.toString()).withTopK(topK).build();SearchResponse searchResponse = client.search(searchParam);return searchResponse;}public SearchResponse searchFeature(List<List<Float>> vectorsToSearch, long topK){return searchFeature(vectorsToSearch, topK, 15);}/*** 创建数据库表* @param collectionName 表的名称* @param dimension 向量维度* @param indexFileSize 单个文件的大小值* @param metricType* @return*/private Response createCollect(String collectionName, int dimension, int indexFileSize,MetricType metricType){CollectionMapping collectionMapping = new CollectionMapping.Builder(collectionName, dimension).withIndexFileSize(indexFileSize).withMetricType(metricType).build();Response response = client.createCollection(collectionMapping);return response;}// 创建索引,指定聚类数private boolean createIndex(int nlist){final IndexType indexType = IndexType.IVF_SQ8;JsonObject indexParamsJson = new JsonObject();indexParamsJson.addProperty("nlist", nlist);   //nlist代表聚类数,根据数据量多少设置Index index =new Index.Builder(collectionName, indexType).withParamsInJson(indexParamsJson.toString()).build();Response createIndexResponse = client.createIndex(index);return createIndexResponse.ok();}}

6、其他处理

接下来就是细枝末节上的处理,

我是前端上传图片时保存到本地,然后发送图片路径给python端提取特征返回Java端。

Java端有了特征向量就调用milvus的方法获取最近的topK条特征向量的ID,再根据ID查询数据库获取图片的路径,然后展示到前端。

导入VOC2007的数据集,5000张图片,传入一张猫的图片,搜索结果还是比较满意的。

image-20200704104453789

当然,项目只是简单搭建完成,,精度上还有待优化,参数的调整还有待优化,,项目中还有大量bug没处理,Python端BIO的方式问题太多,batchSize只为1并发度太低,,

有时间再完整的搭建一下项目。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 2--3:C语言的实型数据(浮点型)

    表示一位男士的身高:1.83米 表示某门功课的成绩:92.5分 表示一个商品的价格:35.8元 表示某支股票的涨幅:2.77% 表示蛋白质在某种食物中的含量为60% 这些数据都有小数部分在C语言中,用于表示包含小数部分的数据类型称为实型,也称为浮点型数据。实型可以用十进制小数形式和…...

    2024/3/16 13:21:06
  2. Kibana :报错 Status changed from yellow to red - This version of Kibana requires Elasticsearch v6.8.0

    1.美图2.背景 log [12:09:35.830] [info][status][plugin:kibana@6.8.0]...

    2024/3/8 3:08:25
  3. Java之线程浅析

    目录一、什么是线程二、线程的状态1、New--新建2、Runnable--可运行3、Blocked--阻塞4、Waiting--等待5、Timed waiting--计时等待6、Terminated--终止三、线程同步 一、什么是线程如下代码,就是一个简单的线程,run方法里面是执行代码,可根据需要设置休眠时间。Thread th…...

    2024/3/14 8:07:24
  4. 推荐几本计算机经典书籍

    一 语言类 1《C Primer Plus》(第6版)中文版 买新版2《C++Primer》中文版3《C++ Primer Plus》 比2更适合零基础4《Java编程思想》5《Java核心技术》卷1卷26《Python核心编程》7《Python编程从入门到实战》8《Go语言实战》 or《Go In Action》二 算法类 9《算法导论》 不适合初…...

    2024/3/8 3:08:24
  5. 中国剩余定理学习笔记

    起源 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”这个问题称为“孙子问题”,该问题的一般解法国际上称为“中国剩余定理”。解法:1、找出三个数,从3和5的公倍数…...

    2024/3/4 6:14:47
  6. 做一个有思想的程序员_fager

    前言 从非计算机专业跨入计算机专业领域,有多大的难度? 正文 发某人从18年末,开始决定走技术这条路,重新拾起选修学过的java这门语言。为了挑战自己,毕业设计就选用java语言来编写一个小游戏。可能,我这个毕业设计对于大多数计算机专业的人来说,那是相当的简单,但对于我…...

    2024/3/14 5:08:05
  7. 小乌龟使用教程(最简单版本)

    如何使用小乌龟1、安装2、使用3、忠告 1、安装 首先去TorToiseGit官网下载安装,安装教程请参考其他博客或者百度经验,一般直接next到底即可。 2、使用 装完之后默认你已经Git clone好项目了,那么直接在项目文件夹上右键然后选择Create Branch进入如下界面,在我圈的第一个地…...

    2024/3/14 8:12:41
  8. 图书借阅管理系统

    这几天写的一个图书借阅管理系统,界面可能不是很美观 工具:MyEclipse + mysql Jsp + servlet + javebean + ajax MVC模式 用来学习是很好的 上图 管理员和用户登录用户大厅界面:想要代码的评论我,留下邮箱或者qq...

    2024/3/4 6:14:43
  9. 2-1.1 类与对象

    1.类与对象的基本概念1.1 对象的简要总结对象的概念:任何存在的实体都是对象,对象是真实存在的,他包括"动态特征" 和"静态特征"静态特征:表示对象的属性,用来存储对象本身的数据。动态特征:表示对象的方法,用来说明对象能做什么对象的作用:数据存储…...

    2024/3/29 4:16:49
  10. volatile的用途

    1.线程可见性package com.mashibing.testvolatile;public class T01_ThreadVisibility {private static volatile boolean flag = true;public static void main(String[] args) throws InterruptedException {new Thread(()-> {while (flag) {//do sth}System.out.println(…...

    2024/3/14 14:32:37
  11. python数据结构5 - 排序与搜索

    文章目录一、排序1.冒泡排序时间复杂度动画演示2.选择排序时间复杂度动画演示3.插入排序时间复杂度动画演示4.希尔排序时间复杂度动画演示5.快速排序时间复杂度动画演示6.归并排序时间复杂度7.常见算法效率比较8.二分法查找时间复杂度 一、排序 排序算法(英语:Sorting algori…...

    2024/3/28 19:16:15
  12. 运算符优先级和结合性

    所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁。这个其实我们在小学学算术的时候就学过,如1+42。 但是C语言中的运算符已经远不止四则运算中的加减乘除了,还有其他很多运算符。当它们出现在同一个表达式中时先计算谁后计算谁呢?所以本节还是有必要讲一下…...

    2024/3/28 19:16:14
  13. 使用Arduino和加速度计自制计步器

    目前,健身手环在人们的日常生活中变得越来越流行,它不仅可以计算人行走的步数,而且还可以记录您燃烧的卡路里、显示心跳、显示时间等等。通常这些物联网设备已与云平台连接同步,因此您可以在智能手机上轻松获取所有身体活动量的历史记录。在前面的文章中,我们还制作了一个…...

    2024/3/28 19:16:13
  14. JS for循环输出i为同一值问题

    问题:每次弹出for循环的最后一个值,而不是点击每个p就弹出对应的值? <p>1</p> <p>2</p> <p>3</p> <script>window.onload = function () {var ps=document.getElementsByTagName(p);for(var i=0; i<ps.length; i++){ps[i].onc…...

    2024/3/28 19:16:12
  15. 南航数据结构上机作业6---树的常用操作

    一、调试成功程序及说明 1、 题目: 1、利用递归算法输出根节点到所有叶子节点的路径; 算法思想: 用一个数组path[N]来存储他的祖先,即根节点到该节点的路径,然后调用allpath()函数,判断该节点是不是叶子节点,是的话就输出,否则继续向下(孩子)走。 运行结果:结果分…...

    2024/3/14 16:57:15
  16. Vue之自定义组件的v-model

    最近在学习vue,今天看到自定义事件的表单输入组件,纠结了一会会然后恍然大悟...官方教程写得不是很详细,所以我决定总结一下。v-model语法糖 v-model实现了表单输入的双向绑定,我们一般是这么写的:1 <div id="app"> 2 <input v-model="price&…...

    2024/3/8 3:08:16
  17. js的一些小定义

    // var age = 18,// age = 23;// var temp;// var temp = age1;// var age1 = age2;// var age2 = temp;// console.log(age1);// console.log(age2);// isNaN();// console.log(德玛西亚);// alert("有一个人叫真咯嗦,娶了个老婆叫要你管,生了个儿子叫麻烦。有一天…...

    2024/3/12 18:32:06
  18. MSP430F2619单片机时钟初始化故障始末

    MSP430F2619单片机时钟初始化故障始末 初次使用该芯片,问题说大不大,说小也折腾了挺久,写出来,让后来者能避免此类简单错误。 项目需要,使用MSP430F2619捕获功能对待测频率信号进行采样计算。 待测信号由信号发生器给出。 硬件上,MSP430F2619单片机XIN和XOUT并未按手册建…...

    2024/3/14 7:02:23
  19. kubernetes-pods状态分析【kubernetes pod Terminating】

    这里写目录标题知识回顾pods状态分析【Terminating】其他方法知其然知其所以然 知识回顾POD的生命周期状态如下状态机状态解释pods状态分析【Terminating】 在试验中删除pods资源,发现一直在hang的状态,于是查看状态 # kubectl get pods NAME READY STATUS …...

    2024/3/13 16:26:18
  20. (表面)知识点整理搬运PHP

    1、面向对象三大基本特征:封装、继承、多态封装:将对象的实现细节隐藏,定义一些公有方法来显示该对象的功能,代码模块化优点:控制外部访问,降低耦合,可维护继承:子类拥有父类的所有属性和方法(除了private修饰的属性不能拥有)优点:可复用,可扩展多态:一个行为具有多…...

    2024/3/25 9:16:30

最新文章

  1. Excel·VBA数组分组问题

    看到一个帖子《excel吧-数据分组问题》&#xff0c;对一组数据分成4组&#xff0c;使每组的和值相近 目录 代码思路1&#xff0c;分组形式、可分组数代码1代码2代码2举例 2&#xff0c;数组所有分组形式举例 这个问题可以转化为2步&#xff1a;第1步&#xff0c;获取一组数据…...

    2024/3/29 13:36:35
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【并发】第二篇 ThreadLocal详解

    导航 一. ThreadLocal 简介二. ThreadLocal 源码解析1. get2. set3 .remove4. initialValue三. ThreadLocalMap 源码分析1. 构造方法2. getEntry()3. set()4. resize()5. expungeStaleEntries()6. cleanSomeSlots()7. nextIndex()8. remove()9. 总结ThreadLocalMap四. 内存泄漏…...

    2024/3/29 11:35:31
  4. UI 测试难题!自动化识别图片的正确率如何达到100%!

    摘要 在ui自动化测试领域&#xff0c;会遇到这样的情形&#xff1a;发布一张图片或上传一个头像&#xff0c;如何通过自动化测试的方式判定发布后的图片是否正确呢&#xff1f;又或者&#xff0c;我们如何通过自动化测试的方式判定某网页的某个logo是否与预期的一致呢&#xf…...

    2024/3/28 16:29:42
  5. 跨境专用链路 助力畅快上网

    在当今数字化快速发展的时代&#xff0c;网络连接的稳定性和高效性对于企业的业务运营至关重要。为了满足客户在不同地域间畅快上网的需求&#xff0c;我们为您提供了具备专属IP地址和独享带宽的专用链路。无论是在境内还是境外&#xff0c;我们都能为您提供多种速率的实时在线…...

    2024/3/28 9:29:18
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/3/27 10:21:24
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/3/24 20:11:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/3/29 2:45:46
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/3/24 20:11:23
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/3/29 5:19:52
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/3/28 17:01:12
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/3/29 11:11:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/3/29 1:13:26
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/3/29 8:28:16
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/3/29 7:41:19
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/3/24 20:11:18
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/3/29 9:57:23
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/3/29 0:49:46
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/3/24 20:11:15
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/3/27 7:12:50
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/3/24 20:11:13
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/3/26 11:21:23
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/3/28 18:26:34
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/3/28 12:42:28
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/3/28 20:09:10
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57