文章目录

  • 前言
  • 一、关于CUDA的函数接口
    • 1.1 torch.cuda
    • 1.2 torch.device
    • 1.3 .to()
    • 1.4 使用指定的GPU
    • 1.5 多GPU训练
  • 二、训练实例代码展示
    • 2.1 数据并行处理
    • 2.2 模型并行处理
      • 2.2.1 通过流水线输入(Pipelining Inputs)加速
  • 三、使用GPU注意事项

前言

什么是GPU
GPU(Graphic Process Units,图形处理器)。是一种单芯片处理器,主要用于管理和提高视频和图形的性能。GPU 加速计算是指同时利用图形处理器 (GPU) 和 CPU,加快应用程序的运行速度。
为什么要用GPU
深度学习涉及很多向量或多矩阵运算,如矩阵相乘、矩阵相加、矩阵-向量乘法等。深层模型的算法,如BP,Auto-Encoder,CNN等,都可以写成矩阵运算的形式,无须写成循环运算。然而,在单核CPU上执行时,矩阵运算会被展开成循环的形式,本质上还是串行执行。GPU的众核体系结构包含几千个流处理器,可将矩阵运算并行化执行,大幅缩短计算时间
如何使用GPU
现在很多深度学习工具都支持GPU运算,使用时只要简单配置即可。Pytorch支持GPU,可以通过to(device)函数来将数据从内存中转移到GPU显存,如果有多个GPU还可以定位到哪个或哪些GPU。Pytorch一般把GPU作用于张量(Tensor)或模型(包括torch.nn下面的一些网络模型以及自己创建的模型)等数据结构上。

一、关于CUDA的函数接口

1.1 torch.cuda

如何查看平台GPU的配置信息?在cmd命令行输入命令nvidia-smi即可 (适合于Linux或Windows环境)。

第一次使用这个命令可能会显示
‘nvidia-smi’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
我们只需要配置一下环境变量即可,配置环境的路径在下面,

C:\Program Files\NVIDIA Corporation\NVSMI

然后添加环境变量后,即可显示本机的GPU配置信息。示例如下:
在这里插入图片描述

import torchprint(torch.cuda.is_available()) # 查看系统GPU是否可以使用,经常用来判断是否装好gpu版的pytorch
print(torch.cuda.current_device())# 返回当前设备序号
print(torch.cuda.get_device_name(0))# 返回第0号设备的name
print(torch.cuda.device_count())# 返回可使用的gpu的数量
print(torch.cuda.memory_allocated(device="cuda:0"))#返回0号设备的当前GPU显存使用量(以字节为单位)

1.2 torch.device

作为Tensor 的一种属性,其包含了两种设备类型,cpu和gpu,通常通过两种方式来进行创建:

#1.通过字符串创建
eg: 
torch.device('cuda:0')
torch.device('cpu')
torch.device('cuda')  # 当前cuda设备#2.通过字符串加设备编号创建
eg:
torch.device('cuda', 0)
torch.device('cpu', 0)#常见的几种创建gpu设备上的Tensor对象:
torch.randn((2,3),device = torch.device('cuda:0'))
torch.randn((2,3),device = 'cuda:0')
torch.randn((2,3),device = 0)  #历史遗留做法,仅支持gpu
# 把数据从内存转移到GPU,一般针对张量(我们需要的数据)和模型。 对张量(类型为FloatTensor或者是LongTensor等),一律直接使用方法.to(device)或.cuda()即可。
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
#或device = torch.device("cuda:0")
device1 = torch.device("cuda:1")  
for batch_idx, (img, label) in enumerate(train_loader):img=img.to(device)label=label.to(device)
# 对于模型来说,也是同样的方式,使用.to(device)或.cuda来将网络放到GPU显存。
#实例化网络
model = Net()
model.to(device)   #使用序号为0的GPU
#或model.to(device1) #使用序号为1的GPU

1.3 .to()

进行设备转化,也是常用的设置gpu的方式。
我个人比较喜欢用的一种方式就是:
device=torch.device(“cuda” if torch.cuda.is_available() else “cpu”)


通常可以这样调用:to(device=None, dtype=None, non_blocking=False)
#第一个可以设置当前的设备,比如device=torch.device('cuda:0')
#或者device=torch.device("cuda" if torch.cuda.is_available() else "cpu")
#第二个就是数据类型了,如torch.float,torch.int,torch.double
#第三个参数,若设置为True, 并且此对象的资源存储在固定内存上(pinned memory),那么此cuda()函数产生的复制将与host端的原storage对象保持同步。否则此参数不起作用

1.4 使用指定的GPU

PyTorch默认使用从0开始的GPU,常有以下两种方式来指定特定的GPU

1.CUDA_VISIBLE_DEVICES
终端设置:  CUDA_VISIBLE_DEVICES=1,2  python train.py    (举个例子)
代码里设置:import osos.environ["CUDA_VISIBLE_DEVICES"] = '1,2'
2.torch.cuda.set_device()
代码里设置:import torchtorch.cuda.set_device(id)不过官方建议使用CUDA_VISIBLE_DEVICES,不建议使用 set_device 函数。

1.5 多GPU训练

为了提高训练速度,常常一个机器有多张gpu,这时候便可以进行并行训练,提高效率。而并行训练又可分为数据并行处理模型并行处理
数据并行处理指的是使用同一个模型,将数据均匀分到多种gpu上,进行训练;
模型并行处理指的是多张gpu训练模型的不同部分,使用同一批数据。

二、训练实例代码展示

2.1 数据并行处理

本代码以波士顿房价数据为例,共506个样本,13个特征。数据划分成训练集和测试集,然后用data.DataLoader转换为可批加载的方式。采用nn.DataParallel并发机制,环境有2个GPU。当然,数据量很小,按理不宜用nn.DataParallel,这里只是为了说明使用方法。

from sklearn import datasets
from sklearn.model_selection import train_test_split
import torch
import torch.nn as nn
import torch.nn.functional as F# 加载数据
boston = datasets.load_boston()
X, y = (boston.data, boston.target)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 组合训练数据及标签
myset = list(zip(X_train, y_train))# 把数据转换为批处理加载方式批次大小为128,打乱数据
from torch.utils import data
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
dtype = torch.FloatTensor
train_loader = data.DataLoader(myset,batch_size=128,shuffle=True)# 定义网络
class Net1(nn.Module):"""使用sequential构建网络,Sequential()函数的功能是将网络的层组合到一起"""def __init__(self, in_dim, n_hidden_1, n_hidden_2, out_dim):super(Net1, self).__init__()self.layer1 = torch.nn.Sequential(nn.Linear(in_dim, n_hidden_1))self.layer2 = torch.nn.Sequential(nn.Linear(n_hidden_1, n_hidden_2))self.layer3 = torch.nn.Sequential(nn.Linear(n_hidden_2, out_dim))def forward(self, x):x1 = F.relu(self.layer1(x))x1 = F.relu(self.layer2(x1))x2 = self.layer3(x1)# 显示每个GPU分配的数据大小print("\tIn Model: input size", x.size(), "output size", x2.size())return x2if __name__ == '__main__':# 把模型转换为多GPU并发处理格式device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")# 实例化网络model = Net1(13, 16, 32, 1)if torch.cuda.device_count() > 1:print("Let's use", torch.cuda.device_count(), "GPUs")# dim = 0 [64, xxx] -> [32, ...], [32, ...] on 2GPUsmodel = nn.DataParallel(model)model.to(device)# 选择优化器及损失函数optimizer_orig = torch.optim.Adam(model.parameters(), lr=0.01)loss_func = torch.nn.MSELoss()# 模型训练,并可视化损失值# from torch.utils.tensorboard import SummaryWriter# writer = SummaryWriter(log_dir='logs')for epoch in range(100):model.train()for data, label in train_loader:input = data.type(dtype).to(device)label = label.type(dtype).to(device)output = model(input)loss = loss_func(output, label)# 反向传播optimizer_orig.zero_grad()loss.backward()optimizer_orig.step()print("Outside: input size", input.size(), "output_size", output.size())# writer.add_scalar('train_loss_paral', loss, epoch)

运行结果

Let's use 2 GPUs
DataParallel(
(module): Net1(
(layer1): Sequential(
(0): Linear(in_features=13, out_features=16, bias=True)
)
(layer2): Sequential(
(0): Linear(in_features=16, out_features=32, bias=True)
)
(layer3): Sequential(
(0): Linear(in_features=32, out_features=1, bias=True)
)
)
)

从运行结果可以看出,一个批次数据(batch-size=128)拆分成两份,每份大小为64,分别放在不同的GPU上。

In Model: input size torch.Size([64, 13]) output size torch.Size([64, 1])
In Model: input size torch.Size([64, 13]) output size torch.Size([64, 1])
Outside: input size torch.Size([128, 13]) output_size torch.Size([128, 1])
In Model: input size torch.Size([64, 13]) output size torch.Size([64, 1])
In Model: input size torch.Size([64, 13]) output size torch.Size([64, 1])
Outside: input size torch.Size([128, 13]) output_size torch.Size([128, 1])

损失情况:
在这里插入图片描述
图形中出现较大振幅,是由于采用批次处理,而且数据没有做任何预处理,对数据进行规范化应该更平滑一些,大家可以尝试一下。
单机多GPU也可使用DistributedParallel,它多用于分布式训练,但也可以用在单机多GPU的训练,配置比使用nn.DataParallel稍微麻烦一点,但是训练速度和效果更好一点。具体配置为:

#初始化使用nccl后端
torch.distributed.init_process_group(backend="nccl")
#模型并行化
model=torch.nn.parallel.DistributedDataParallel(model)

单机运行时使用下面方法启动

python -m torch.distributed.launch main.py

2.2 模型并行处理

这种方法,自然对应的是模型太大的情况。当模型较大时,将模型的不同层放于不同的gpu上,进行并行的处理。
只需更改几行,就可以在多个GPU上运行现有的单GPU模块。以下代码显示了如何分解 torchvision.models.reset50() 为两个GPU。思想是从现有 ResNet模块继承,并在构建过程中将层拆分为两个GPU。然后,覆盖 forward方法来缝合两个子网,通过相应地移动中间输出。

from torchvision.models.resnet import ResNet, Bottlenecknum_classes = 1000class ModelParallelResNet50(ResNet):def __init__(self, *args, **kwargs):super(ModelParallelResNet50, self).__init__(Bottleneck, [3, 4, 6, 3], num_classes=num_classes, *args, **kwargs)self.seq1 = nn.Sequential(self.conv1,self.bn1,self.relu,self.maxpool,self.layer1,self.layer2).to('cuda:0')  # 放置在第1个GPU上self.seq2 = nn.Sequential(self.layer3,self.layer4,self.avgpool,).to('cuda:1')  # 放置在第2个GPU上self.fc.to('cuda:1')def forward(self, x):x = self.seq2(self.seq1(x).to('cuda:1'))return self.fc(x.view(x.size(0), -1))# 其中,backward()和torch.optim将自动处理梯度,只需确保调用损失函数时标签与输出在同一设备上。

对于模型太大而无法放入单个GPU的情况,上述实现解决了该问题。但是,你可能已经注意到,如果模型合适,它(model parallel)将比在单个GPU上运行要慢。这是因为在任何时间点,两个GPU中只有一个在工作,而另一个在那儿什么也没做。在 layer2 和 layer3之间,中间输出需要从 cuda:0 复制到 cuda:1,这使得性能进一步恶化。
在这里插入图片描述

2.2.1 通过流水线输入(Pipelining Inputs)加速

结果表明,模型并行实现的执行时间 比现有的单GPU实现更长。因此,我们可以得出结论,在GPU之间来回复制张量大约有7%的开销。有待改进的地方,因为我们知道在整个执行过程中,两个GPU中的一个会处于空闲状态。一种选择是将每个批次进一步划分为拆分流水线,以便当一个拆分到达第二子网时,可以将下一个拆分馈入第一子网。这样,两个连续的拆分可以在两个GPU上同时运行。
在以下实验中,我们将每批次 120-image 进一步划分为 20-image 。当PyTorch异步启动CUDA操作时,该实现无需生成多个线程即可实现并发。

class PipelineParallelResNet50(ModelParallelResNet50):def __init__(self, split_size=20, *args, **kwargs):super(PipelineParallelResNet50, self).__init__(*args, **kwargs)self.split_size = split_sizedef forward(self, x):splits = iter(x.split(self.split_size, dim=0))s_next = next(splits)s_prev = self.seq1(s_next).to('cuda:1')ret = []for s_next in splits:# A. s_prev runs on cuda:1s_prev = self.seq2(s_prev)ret.append(self.fc(s_prev.view(s_prev.size(0), -1)))# B. s_next runs on cuda:0, which can run concurrently with As_prev = self.seq1(s_next).to('cuda:1')s_prev = self.seq2(s_prev)ret.append(self.fc(s_prev.view(s_prev.size(0), -1)))return torch.cat(ret)setup = "model = PipelineParallelResNet50()"
pp_run_times = timeit.repeat(stmt, setup, number=1, repeat=num_repeat, globals=globals())
pp_mean, pp_std = np.mean(pp_run_times), np.std(pp_run_times)plot([mp_mean, rn_mean, pp_mean],[mp_std, rn_std, pp_std],['Model Parallel', 'Single GPU', 'Pipelining Model Parallel'],'mp_vs_rn_vs_pp.png')

在这里插入图片描述
不同的split 会有不同的效果,没有通用的多流解决方案适用于所有模型。

三、使用GPU注意事项

使用GPU可以提升我们训练的速度,如果使用不当,可能影响使用效率,具体使用时要注意以下几点:

① GPU的数量尽量为偶数,奇数的GPU有可能会出现异常中断的情况;
② GPU很快,但数据量较小时,效果可能没有单GPU好,甚至还不如CPU;
③ 如果内存不够大,使用多GPU训练的时候可通过设置pin_memory为False,当然使用精度稍微低一点的数据类型有时也效果。

参考资料:
1、模型并行最佳实践(PyTorch)
2、pytorch——关于GPU的一些知识

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

相关文章

  1. Mycat数据库集群中间件

    Mycat数据库集群中间件Mycat中间件Mycat分片原理Mycat使用 Mycat中间件 Mycat分片原理 使用了哈希算法,根据id求余数来确定存储或查询哪个数据库Mycat使用 mycat安装省略 一、启动mycat,bin目录下的mycat文件二、使用vi编辑器进入conf目录下,查看server.xml文件三、查看虚拟…...

    2024/4/16 10:50:21
  2. Computer Graphics note(4):Shading

    文章目录一.Shading Model(Blinn-Phong Reflectance Model)1.相关定义(Shading is Local)2.Diffuse Reflection(Blinn-Phong)(1)Shading Point接收的能量强度(2)到达Shading Point的能量强度(3)漫反射表示 & Shading Point的颜色3.Specular Term(Blinn-Phong)(1)高光条件(2…...

    2024/4/16 10:50:01
  3. 机器学习模型的常用评价指标

    在看论文的过程中发现了有很多模型好坏的评价指标,有比较常见的指标,也有一些从未了解到的评价指标,是时候来整理一波了,以便后续学习查缺补漏。常见概念:真正(True Positive , TP):被模型预测为正的正样本。假正(False Positive , FP):被模型预测为正的负样本。假负(Fa…...

    2024/4/19 9:36:13
  4. hualinux 进阶 1.1:前言

    目录一、基于前面的运维基础篇二、关于进阶篇进阶篇之运维技能,主要是运维的进阶篇,其中多少会涉及到一部分开发方面的知识,我将会从dokcer、ansible/saltStack、ELK/EFK、k8s生态、自动化待续集成等方面进行介绍一、基于前面的运维基础篇在运维基础篇,我花了5个专栏,如下…...

    2024/4/16 10:49:10
  5. spring多数据源分布式事务的分析与解决方案

    spring多数据源分布式事务的分析与解决方案参考文章: (1)spring多数据源分布式事务的分析与解决方案 (2)https://www.cnblogs.com/qianjun2017/p/8349829.html 备忘一下。...

    2024/5/6 17:31:54
  6. IntelliJ Idea java开发常用插件记录

    java开发时常用的插件记录 .env files support .ignore Alibaba Java Coding Guidelines BashSupport Lombok Maven Helper Protobuf Support可选安装 arthas idea AsciiDoc Docker jclasslib Bytecode viewer Key Promoter X...

    2024/4/19 14:32:27
  7. less快速入门------混入mixin学习

    一,什么是混入 1.混入就是将一组样式添加到另一组样式里, 二,混入的形式 1.普通的混入 .a{width:10px; }.b{.a;height:10px; }2.带参数的混入 .a(@height) {height:@height; }.b{.a(20px)width:20px; }3.带默认参数的混入 .a(@height:10px) {height:@height; }.b{.a()width:…...

    2024/4/16 10:51:03
  8. Malplotlib教程

    Matplotlib教程:https://www.runoob.com/w3cnote/matplotlib-tutorial.html...

    2024/5/4 23:08:40
  9. 总结了大量的 Java 代码精简之道,值得一看

    转载自品略图书馆 http://www.pinlue.com/article/2020/06/3022/0910903417432.htmlJava 代码精简之“道”。1.利用语法1.1.利用三元表达式普通:String title;if (isMember(phone)) { title = "会员";} else { title = "游客";}精简:String title …...

    2024/4/16 10:51:17
  10. 主动操作案例

    ...

    2024/4/16 10:51:07
  11. Matlab建模—回归拟合(ployfit与regress使用)

    数学建模期末复习,撰写博客做总结之用,主要侧重于算例的模型建立与部分代码的实现,其中不足之处望读者多多指正。文章目录多(一)元线性回归多(一)元线性拟合公式Matlab相关函数例子1一元线性回归例子2多元线性回归ployfit拟合例子2的另解 多(一)元线性回归 多(一)元…...

    2024/4/5 6:31:41
  12. ActiveMQ_05 消息的事务性

    (1)生产者开启事务后,执行commit方法,这批消息才真正的被提交。不执行commit方法,这批消息不会提交。执行rollback方法,之前的消息会回滚掉。生产者的事务机制,要高于签收机制,当生产者开启事务,签收机制不再重要。(2)消费者开启事务后,执行commit方法,这批消息才…...

    2024/4/16 10:50:37
  13. python中文对齐的解决办法,.format填充中文空格

    chr(122288)是中文空格 tplt="{0:^10}\t{1:{3}^10}\t{2:^10}"; print(tplt.format(ls[0],ls[1],ls[2],chr(12288)))...

    2024/4/16 10:51:07
  14. 01求解最大子列和问题

    这里写自定义目录标题01求解最大子列和问题 01求解最大子列和问题 import java.util.Scanner;public class demo01 {public static void main(String[] args) {/**最大子列和问题实现通过键盘录入数据,nextLine函数返回输入回车之前的所有字符*/Scanner scan = new Scanner(Sy…...

    2024/4/16 10:51:02
  15. Hexo + GitHub Pages搭建自己的博客

    Hexo + GitHub Pages搭建自己的博客 Hexo搭建步骤安装Git 安装Node.js 安装Hexo GitHub创建个人仓库 生成SSH添加到GitHub 发布文章1.安装Git 2.安装Node.js 3.安装 Hexonpm install hexo-cli -g依旧用hexo -v查看一下版本接下来初始化一下hexo hexo init myblog //myblog是项…...

    2024/4/16 10:50:57
  16. Typaro写博客完美得无可挑剔,还要什么富文本?

    摘要 Typaro是一款Markdown编辑器,Windows、Mac、Linux三大主流系统的都有。Typaro样式简洁、美观,还支持导出HTML,支持样式定制,如果会点web前端小技巧的话,还能让你的个人博客长得跟Typaro一模一样,而且还大大节省了你写博客文章的时间。使用了Typaro,会让你瞬间放弃富…...

    2024/4/20 14:32:55
  17. Android Dex分包原理、方案和加解密

    the_q系列:1、ant方式进行dex分包《Android Dex分包》 2、Android Dex分包—Gradle方式 3、android Dex文件的加载Android Studio中Dex分包方案Android app dex加密原理AndroidStudio中,如何使用 MultiDex (apk中生成多个dex、dex分包)...

    2024/4/19 0:01:05
  18. 【环境搭建】mnn

    1,介绍MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。 2,安装 2.1 编译mnn git clone https://github.com/alibaba/MNN.git cd MNN mkdir build cd build cmake .. -DMNN_BUILD_CONVERTER=true make2.2 protobuf>3.0 3,应用...

    2024/4/20 8:50:57
  19. 如何完全卸载MySQL数据库-----MySQL 安装失败,提示Apply Security Settings 的处理办法

    目录步骤 1 : mysql 卸载不干净步骤 2 : mysql 卸载步骤 3 : 删除mysql安装目录步骤 4 : 删除my.ini步骤 5 : 运行注册表步骤 6 : 删除key1步骤 7 : 删除key2步骤 8 : 删除ProgramData目录下的文件步骤 9 : 重新安装步骤 1 : mysql 卸载不干净mysql 自带的卸载很多时候都卸载不…...

    2024/4/16 10:51:07
  20. 企业级完美安装JDK

    完美安装JDK 1、将提前下载好的jdk文件导入到虚拟机中 2、建议将jdk安装在 /use/java这个目录下(需要自己创建目录 mkdir /use/java) 3、解压文件: tar -zxvf XXXXX -C /usr/java(cdh环境的标配) 4、在这里会有一个容易错误的点!!!! 一般我们在解压文件之后,它的权限…...

    2024/4/20 5:20:09

最新文章

  1. 【华为】IPSec VPN手动配置

    【华为】IPSec VPN手动配置 拓扑配置ISP - 2AR1NAT - Easy IPIPSec VPN AR3NATIPsec VPN PC检验 配置文档AR1AR2 拓扑 配置 配置步骤 1、配置IP地址,ISP 路由器用 Lo0 模拟互联网 2、漳州和福州两个出口路由器配置默认路由指向ISP路由器 3、进行 IPsec VPN配置&…...

    2024/5/6 23:36:17
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/6 9:38:23
  3. 【超简单】基于PaddleSpeech搭建个人语音听写服务

    一、【超简单】之基于PaddleSpeech搭建个人语音听写服务 1.需求分析 亲们,你们要写会议纪要嘛?亲们,你们要写会议纪要嘛?亲们,你们要写会议纪要嘛?当您面对成吨的会议录音,着急写会议纪要而不得不愚公移山、人海战术?听的头晕眼花,听的漏洞百出,听的怀疑人生,那么你…...

    2024/5/6 17:35:42
  4. YOLOv9架构图分享

    YOLOv9是YOLO (You Only Look Once)系列实时目标检测系统的最新迭代。它建立在以前的版本之上,结合了深度学习技术和架构设计的进步,以在目标检测任务中实现卓越的性能。通过将可编程梯度信息(PGI)概念与广义ELAN (GELAN)架构相结合,YOLOv9在…...

    2024/5/6 12:36:11
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

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

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

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

    2022/11/19 21:17:18
  26. 错误使用 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  44. 如何在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