深度学习(四):自己训练yolov5模型进行目标检测
自己训练yolov5模型进行目标检测
- 流程
- 工程开始
- 问题总结
流程
跟yolo系列一样,检测训练过程包括了4步:
搜集数据集
数据集的标注,分类以及清洗
进行训练
获得权重进行测试和预测
工程开始
先附上源码链接:https://github.com/ultralytics/yolov5
下载或者通过git clone https://github.com/ultralytics/yolov5.git
将YOLOv5源码download,
创建虚拟环境,并通过pip install -r requirements.txt安装依赖包。(如果有可以用的环境就不用这一步咯)
一、搜集数据集以及标注这部分就先跳过了,yolov5具体的标注提示在链接里很清晰了。
yolov5 label create
二、数据集的训练格式:
我们数据集标注结束后是VOC的格式,即标注信息应该为xml的。例如下图:
接下来我们要转成yolo_txt训练的格式,即:
如何转呢,
1、我们在工程下建立文件夹paper_data(你也可以叫其他的名字)。子目录三个,这个最好不改名。,如下样式:
Annotations就是存放我们voc文件的xml标注信息了。images就是我们数据集照片。这里是采用.jpg的格式。ImageSets下面有一个Main文件夹,用来存放训练,评估,测试的数据集分类索引。
2、建立训练,评估,测试的数据集分类索引,
我们可以利用脚本split_train_val.py。如下:
# coding:utf-8import os
import random
import argparseparser = argparse.ArgumentParser()
#xml文件的地址,根据自己的数据进行修改 xml一般存放在Annotations下
parser.add_argument('--xml_path', default='Annotations', type=str, help='input xml label path')
#数据集的划分,地址选择自己数据下的ImageSets/Main
parser.add_argument('--txt_path', default='ImageSets/Main', type=str, help='output txt label path')
opt = parser.parse_args()trainval_percent = 1.0
train_percent = 0.9
xmlfilepath = opt.xml_path
txtsavepath = opt.txt_path
total_xml = os.listdir(xmlfilepath)
if not os.path.exists(txtsavepath):os.makedirs(txtsavepath)num = len(total_xml)
list_index = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list_index, tv)
train = random.sample(trainval, tr)file_trainval = open(txtsavepath + '/trainval.txt', 'w')
file_test = open(txtsavepath + '/test.txt', 'w')
file_train = open(txtsavepath + '/train.txt', 'w')
file_val = open(txtsavepath + '/val.txt', 'w')for i in list_index:name = total_xml[i][:-4] + '\n'if i in trainval:file_trainval.write(name)if i in train:file_train.write(name)else:file_val.write(name)else:file_test.write(name)file_trainval.close()
file_train.close()
file_val.close()
file_test.close()
我们运行了这个脚本之后,会在paper_data/ImageSets/Main下得到划分的结果
3、转换成yolo_txt标注标签,同样,运行脚本voc_label.py:
# -*- coding: utf-8 -*-
import xml.etree.ElementTree as ET
import os
from os import getcwdsets = ['train', 'val', 'test']
classes = ["a", "b"] # 改成自己的类别
abs_path = os.getcwd()
print(abs_path)def convert(size, box):dw = 1. / (size[0])dh = 1. / (size[1])x = (box[0] + box[1]) / 2.0 - 1y = (box[2] + box[3]) / 2.0 - 1w = box[1] - box[0]h = box[3] - box[2]x = x * dww = w * dwy = y * dhh = h * dhreturn x, y, w, hdef convert_annotation(image_id):in_file = open('/home/trainingai/zyang/yolov5/paper_data/Annotations/%s.xml' % (image_id), encoding='UTF-8')out_file = open('/home/trainingai/zyang/yolov5/paper_data/labels/%s.txt' % (image_id), 'w')tree = ET.parse(in_file)root = tree.getroot()size = root.find('size')w = int(size.find('width').text)h = int(size.find('height').text)for obj in root.iter('object'):# difficult = obj.find('difficult').textdifficult = obj.find('Difficult').textcls = obj.find('name').textif cls not in classes or int(difficult) == 1:continuecls_id = classes.index(cls)xmlbox = obj.find('bndbox')b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text),float(xmlbox.find('ymax').text))b1, b2, b3, b4 = b# 标注越界修正if b2 > w:b2 = wif b4 > h:b4 = hb = (b1, b2, b3, b4)bb = convert((w, h), b)out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')wd = getcwd()
for image_set in sets:if not os.path.exists('/home/trainingai/zyang/yolov5/paper_data/labels/'):os.makedirs('/home/trainingai/zyang/yolov5/paper_data/labels/')image_ids = open('/home/trainingai/zyang/yolov5/paper_data/ImageSets/Main/%s.txt' % (image_set)).read().strip().split()list_file = open('paper_data/%s.txt' % (image_set), 'w')for image_id in image_ids:list_file.write(abs_path + '/paper_data/images/%s.jpg\n' % (image_id))convert_annotation(image_id)list_file.close()
运行的结果,你会得到一个label文件夹,以及3个txt文件。他们分别是,yolo_txt格式的标签集合,训练图片的绝对路径集合,评估数据集的绝对路径集合以及测试数据集的绝对路径集合。
到此处,我们的数据处理部分就完成啦。下一阶段就是配置专属于你的yolov5. 非常形象。
三、配置:
1、在yolov5目录下的data中,新建一个(name).yaml的文件。这里的(name)是自定义的哈。
然后配置:
应该图标识很清楚这个yaml是做什么用的了吧。train是训练数据集的绝对路径。val是评估数据集的绝对路径。nc是你本次工程的检测类别。names就是检测类别的名字。
2、配置anchors,因为我们自己的数据集所需要的anchor初始大小是不一样的。它自身带的三种尺度的anchor是用在公用数据集上的。那么我们自己的任务由于长宽比可能会不同等等问题,我们需要调整初始的anchor,
两步,建立kmeans.py脚本,用脚本clauculate_anchors.py生成初始anchors。
first,kmeans.py:
import numpy as npdef iou(box, clusters):"""Calculates the Intersection over Union (IoU) between a box and k clusters.:param box: tuple or array, shifted to the origin (i. e. width and height):param clusters: numpy array of shape (k, 2) where k is the number of clusters:return: numpy array of shape (k, 0) where k is the number of clusters"""x = np.minimum(clusters[:, 0], box[0])y = np.minimum(clusters[:, 1], box[1])if np.count_nonzero(x == 0) > 0 or np.count_nonzero(y == 0) > 0:raise ValueError("Box has no area") # 如果报这个错,可以把这行改成pass即可intersection = x * ybox_area = box[0] * box[1]cluster_area = clusters[:, 0] * clusters[:, 1]iou_ = intersection / (box_area + cluster_area - intersection)return iou_def avg_iou(boxes, clusters):"""Calculates the average Intersection over Union (IoU) between a numpy array of boxes and k clusters.:param boxes: numpy array of shape (r, 2), where r is the number of rows:param clusters: numpy array of shape (k, 2) where k is the number of clusters:return: average IoU as a single float"""return np.mean([np.max(iou(boxes[i], clusters)) for i in range(boxes.shape[0])])def translate_boxes(boxes):"""Translates all the boxes to the origin.:param boxes: numpy array of shape (r, 4):return: numpy array of shape (r, 2)"""new_boxes = boxes.copy()for row in range(new_boxes.shape[0]):new_boxes[row][2] = np.abs(new_boxes[row][2] - new_boxes[row][0])new_boxes[row][3] = np.abs(new_boxes[row][3] - new_boxes[row][1])return np.delete(new_boxes, [0, 1], axis=1)def kmeans(boxes, k, dist=np.median):"""Calculates k-means clustering with the Intersection over Union (IoU) metric.:param boxes: numpy array of shape (r, 2), where r is the number of rows:param k: number of clusters:param dist: distance function:return: numpy array of shape (k, 2)"""rows = boxes.shape[0]distances = np.empty((rows, k))last_clusters = np.zeros((rows,))np.random.seed()# the Forgy method will fail if the whole array contains the same rowsclusters = boxes[np.random.choice(rows, k, replace=False)]while True:for row in range(rows):distances[row] = 1 - iou(boxes[row], clusters)nearest_clusters = np.argmin(distances, axis=1)if (last_clusters == nearest_clusters).all():breakfor cluster in range(k):clusters[cluster] = dist(boxes[nearest_clusters == cluster], axis=0)last_clusters = nearest_clustersreturn clustersif __name__ == '__main__':a = np.array([[1, 2, 3, 4], [5, 7, 6, 8]])print(translate_boxes(a))
clauculate_anchors.py:
# -*- coding: utf-8 -*-
# 根据标签文件求先验框import os
import numpy as np
import xml.etree.cElementTree as et
from kmeans import kmeans, avg_iouFILE_ROOT = "./paper_data/(最好是绝对路径)" # 根路径
ANNOTATION_ROOT = "Annotations" # 数据集标签文件夹路径
ANNOTATION_PATH = FILE_ROOT + ANNOTATION_ROOTANCHORS_TXT_PATH = "绝对路径,例如: /home/yolov5/data/anchors.txt"CLUSTERS = 9
CLASS_NAMES = ['a', 'b']def load_data(anno_dir, class_names):xml_names = os.listdir(anno_dir)boxes = []for xml_name in xml_names:xml_pth = os.path.join(anno_dir, xml_name)tree = et.parse(xml_pth)width = float(tree.findtext("./size/width"))height = float(tree.findtext("./size/height"))for obj in tree.findall("./object"):cls_name = obj.findtext("name")if cls_name in class_names:xmin = float(obj.findtext("bndbox/xmin")) / widthymin = float(obj.findtext("bndbox/ymin")) / heightxmax = float(obj.findtext("bndbox/xmax")) / widthymax = float(obj.findtext("bndbox/ymax")) / heightbox = [xmax - xmin, ymax - ymin]boxes.append(box)else:continuereturn np.array(boxes)if __name__ == '__main__':anchors_txt = open(ANCHORS_TXT_PATH, "w")train_boxes = load_data(ANNOTATION_PATH, CLASS_NAMES)count = 1best_accuracy = 0best_anchors = []best_ratios = []for i in range(10): ##### 可以修改,不要太大,否则时间很长anchors_tmp = []clusters = kmeans(train_boxes, k=CLUSTERS)idx = clusters[:, 0].argsort()clusters = clusters[idx]# print(clusters)for j in range(CLUSTERS):anchor = [round(clusters[j][0] * 640, 2), round(clusters[j][1] * 640, 2)]anchors_tmp.append(anchor)print(f"Anchors:{anchor}")temp_accuracy = avg_iou(train_boxes, clusters) * 100print("Train_Accuracy:{:.2f}%".format(temp_accuracy))ratios = np.around(clusters[:, 0] / clusters[:, 1], decimals=2).tolist()ratios.sort()print("Ratios:{}".format(ratios))print(20 * "*" + " {} ".format(count) + 20 * "*")count += 1if temp_accuracy > best_accuracy:best_accuracy = temp_accuracybest_anchors = anchors_tmpbest_ratios = ratiosanchors_txt.write("Best Accuracy = " + str(round(best_accuracy, 2)) + '%' + "\r\n")anchors_txt.write("Best Anchors = " + str(best_anchors) + "\r\n")anchors_txt.write("Best Ratios = " + str(best_ratios))anchors_txt.close()
运行之后,你就能获得适合你数据集的best anchor了。填到哪个位置呢?
这就到下一步了,挑选模型和更换anchors,
3、配置yolov5骨干:
在models目录下,有5个yaml文件,模型大小从小到大分别是yolov5n.yaml, yolov5s.yaml,yolov5m.yaml,yolov5l.yaml,yolov5x.yaml
在此以yolov5s.yaml为例子。
我们打开,更改如下参数:
一个就是nc,类别,另一个就是anchors。
没了没了,终于配完了,一堆东西。。可以训练了。。
四、训练
进入github上,下载你要用的预训练模型。
https://github.com/ultralytics/yolov5/releases
然后配置train.py:
这三个是必须要按你自己的文件配置的。–weights是预训练模型地址,–cfg是你yolo骨干的选择cfg,–data是你的数据cfg。
其他的参数,你们想改的话,这边提供下意思:
epochs:迭代周期。
batch-size:一批次数量
cfg:存储模型结构的配置文件
data:存储训练、测试数据的文件
img-size:输入图片宽高
rect:进行矩形训练
resume:恢复最近保存的模型开始训练
nosave:仅保存最终checkpoint
notest:仅测试最后的epoch
evolve:进化超参数
bucket:gsutil bucket
cache-images:缓存图像以加快训练速度
weights:权重文件路径
name: 重命名results.txt to results_name.txt
device:cuda device, i.e. 0 or 0,1,2,3 or cpu
adam:使用adam优化
multi-scale:多尺度训练,img-size +/- 50%
single-cls:单类别的训练集
调整好了,python train.py
就好了。
接下来就等着吧,时间久着呢,可以去玩一会儿。
你可以监视着进程。
用 tensorboard --logdir=runs
可以看你的训练进度。
当然,我一般选择最后看。
看完感觉,收敛了。差不多。
测试测试,预测预测。
五、测试与预测。
测试你跟训练一样,改一下val.py里面的配置。
然后python val.py
,就生成一堆,你需要的测试参数。我相信都是你要的。
关于预测,在detect.py文件里,继续改一下配置。
运行python detect.py
就好啦,结果图和结果txt我就不附了。
最后会在runs文件夹下,生成:
就是你分别train的,val的,detect的结果。训练的权重就在这里面哟。
问题总结
大家有问题的可以提。我看到了会附在这儿。方便大家看。
不麻烦,这工程一点都不麻烦,嗯嗯嗯
结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结结束!
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 【Linux】linux基本命令
配置文件位置 php.ini > cd /usr/local/php/etc/nginx.conf > cd /usr/local/nginx/conf/项目配置 > cd /usr/local/nginx/vhost/ 查找nginx.conf文件路径 sudo nginx -t 检查nginx拼写 nginx -t 重启nginx systemctl restart nginx nginx 错误日志 nginx_err…...
2024/3/24 21:22:32 - jsp小型软件交易销售网站
系统应包括三种用户,管理员软件提供者和软件需求者。软件提供者可以将自己制作的软件产品发布到平台上,供后者选择。软件需求者也可以发布自己的需求。管理员对软件分类进行管理,对用户和软件进行审核。软件提供者可以对自己发布的软件产品进…...
2024/3/4 15:12:21 - vue 通过百度地图实现地位
通过npm 安装百度地图插件 npm install vue-baidu-map -s到百度地图开放平台申请ak :https://lbsyun.baidu.com/开始创建页面 <el-form-item label"定位坐标" prop"address" required><div class"dffn wdi-600 mpp"&…...
2024/3/6 9:59:54 - 安装Group-Office时提示致命错误:服务器配置不支持mysqli
今天找到一个外国的开源OA:Group-Office,打算安装了研究一下,执行安装程序后报了一堆红字,仔细一看,大部分都是警告,只有一个致命错误,说的是服务器不支持MYSQLI扩展,百度了一下MYSQLI,发现是改善PHP对MYSQL高版本新特性支持的一个扩展,之前安装的PHP程序都没用到这个…...
2024/3/6 9:59:53 - C语言打开文件
C语言fopen函数的用法,C语言打开文件详解 在C语言中,操作文件之前必须先打开文件;所谓“打开文件”,就是让程序和文件建立连接的过程。 打开文件之后,程序可以得到文件的相关信息,例如大小、类型、权限、创…...
2024/3/6 9:59:51 - jsp在线代驾服务预约网站
本代驾服务系统主要包括系统用户管理模块、商家信息管理模块、代驾线路信息管理、车辆信息管理、代驾管理、登录模块、和退出模块等多个模块。本代驾服务系统是针对目前代驾服务的实际需求,从实际工作出发,对过去的代驾服务系统存在的问题进行分析&#…...
2024/3/6 9:59:50 - 程序员如今还吃香吗?
代码写完了吗?还来看博客!(产品经理怒吼)...
2024/3/20 6:56:07 - uboot环境变量(ENV)常用指令及定义
U-Boot,一些U-boot默认的环境变量如下: 环 境 变 量 解 释 说 明 bootdelay 执行自动启动(bootcmd中的命令)的等候秒数 baudrate 串口控制台的波特率 netmask 以太网的网络掩码 ethaddr 以太网的MAC地址 bootfile 默认…...
2024/3/6 9:59:48 - python自动化学习笔记3-集合、函数、模块
文件操作 上次学习到文件的读写,为了高效的读写文件,我们可以用循环的方式,一行一行的进行读写操作,打开文件的方法是open的方法,打开文件执行完后还要进行关闭操作。 一般的文件流操作都包含缓冲机制,wr…...
2024/3/6 9:59:47 - jsp餐厅点餐系统java_ssh框架
针对餐厅点餐的流程,运用java作为主要编程语言,使用MySQL数据库语句实现数据的搜索查询,采用B/S模式,建立一个点餐系统。本系统要求实现用户登陆,用户注册,客户点餐管理,配餐管理,结…...
2024/3/6 9:59:46 - 三十八、逐行阅读Yii2.0.43_Yii框架文件yii\web\Request.php(5)
一、属性 1. $_queryParams 查询参数 2. $_hostInfo 主机信息 3. $_hostName 主机名称 //查询参数private $_queryParams;//主机信息private $_hostInfo;//主机名称private $_hostName; 二、方法 1. getQueryParams方法,返回url中queryString部分 // 返回queryS…...
2024/3/6 9:59:46 - JavaScript 关于数组的扩展运算符实现
在 JavaScript 的数组扩展运算符中,可以很轻松地将数组展开,并创建新的数组: const arr [1,2,3,4,5];const arr0 [...arr]; const arr1 [1,...arr]; const arr2 [1,...arr,3,4]; const arr3 [1,...arr,...arr];将如上代码复制到babel官…...
2024/3/28 16:51:42 - 【C语言】文件居然还能这样操作 (代码演示 + 详解 + 应用)
这篇博客和大家分享关于C语言文件操作方面的知识,相互交流,共同进步 什么是文件? 我们前面写的代码里面都在使用 “变量”,或者说在使用内存 内存特点 容量小,速度块,断电之后数据丢失,比较贵…...
2024/3/6 9:59:43 - 浙大PAT乙级解题思路及代码
# PAT算法笔记 ## 1001 害死人不偿命的(3n1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n1) 砍掉一半。这样一直反复砍下去,最后一定…...
2024/3/6 9:59:42 - python图片加水印
想给身份证加水印,从小白开始接触了python。 代码在最下面,记录一下这里遇到的坑。 代码没啥大问题,但是会报错“ No module named ‘PIL’ ”,几番搜索之后,发现,PIL好像在2.7版本后就不维护了࿰…...
2024/3/29 1:25:58 - jsp ssh日韩化妆品商城购物系统
随着科技的迅速发展,计算机技术已应用到社会的各个领域。随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购…...
2024/3/19 21:51:32 - Python——字典
字典 字典是一种常见的数据结构,通常在别的语言里,可能会称呼它为哈希表,HashMap。无论怎么样,字典其实就是键值对。是以key-value的形式存在的。 在 Python 中,字典是一系列键值对。每个键都与一个值相关联&…...
2024/3/6 9:59:39 - Apache APISIX 在腾讯云智能钛平台中的落地实践
背景介绍 腾讯云智能钛机器学习平台(TI-ONE)是为 AI 工程师打造的一站式机器学习服务平台,为用户提供从数据预处理、模型构建、模型训练到模型评估的全流程开发支持。智能钛机器学习平台内置丰富的算法组件,支持多种算法框架&…...
2024/3/6 9:59:39 - Python接入百度翻译-翻译大批量文档
现在有一份Excel表的大批量的评论内容数据 将评论的英语翻译为汉语,对接百度翻译的api https://fanyi-api.baidu.com/doc/13 文档的接入服务 import requests import random import json from hashlib import md5import xlwings as xw import time# Set your own ap…...
2024/3/28 16:47:14 - POST http://域名:8080/项目/base/api/login/user/login net::ERR_CONNECTION_RESET 错误
系统登录功能问题: 近期服务器加固,做了堡垒机模式和其他的一些安全性的防护。对登录功能做了一些修改,自己的测试系统修改后反复测试,并没有什么问题,但是发布到正式系统上就出现了这种情况。自己百度加分析 总觉得是…...
2024/3/29 2:32:20
最新文章
- Qt消息机制和事件
Qt消息机制和事件 Qt消息机制和事件--2 事件 事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出&…...
2024/3/29 2:34:35 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - NPM常用命令详解
NPM常用命令详解 NPM是什么? NPM (Node Package Manager) 是 Node.js 的包管理器。它是一个命令行工具,用于管理和安装 Node.js 的代码包(也称为模块)。通过 NPM,开发者可以轻松地在项目中引入和管理第三方模块、库和…...
2024/3/28 22:45:25 - mutex 和 channel 哪一个工作效率更高?
关于Rust中mutex和channel哪一个工作效率更高的问题,实际上并没有一个绝对的答案,因为效率的高低取决于具体的使用场景和需求。 互斥锁(mutex)主要用于保护共享资源,确保一次只有一个线程可以访问它。当需要多个线程同…...
2024/3/25 3:02:08 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/3/27 10:21:24 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/3/24 20:11:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/3/18 12:12:47 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/3/24 20:11:23 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/3/26 20:58:42 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/3/28 17:01:12 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/3/24 5:55:47 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/3/29 1:13:26 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/3/26 23:04:51 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/3/26 11:20:25 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/3/24 20:11:18 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/3/28 9:10:53 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/3/29 0:49:46 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/3/24 20:11:15 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/3/27 7:12:50 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/3/24 20:11:13 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/3/26 11:21:23 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/3/28 18:26:34 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/3/28 12:42:28 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/3/28 20:09:10 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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