背景

基础环境

  • Pytorch 1.9 版本、CUDA 10.1、cuDNN 7.6
  • 以下描述的Pytorch文件路径均为  ${PYTORCH_ROOT}(= GitHub - pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration) 的相对路径

Pytorch Dispatch 机制是:输入1个ATen函数名(代表计算逻辑),根据 配置(native_functions.yaml中的定义)、Tensor的情况(Sparse,DispatchKeySet和Datatype),找到并执行实际的计算函数

Dispatch 找到真正的计算函数分三个阶段,类似1个决策树,它们之间的关系可以参考Pytorch ATen全图,按先后顺序:

  1. Dispatcher 阶段。根据Tensor 的Sparse情况 和  DispatchKeySet 选择 计算入口函数。分流走 Sparse或 非CPU/GPU设备的计算函数。
  2. DispatchStub 阶段。根据Tensor 所处Device 选择 实际计算函数
  3. Dispatch 数据类型阶段。根据 Tensor 的Datatype 实例化 实际计算逻辑

需要注意:

  • 不是所有的ATen函数在经过Dispatch机制时都会执行完这3个阶段,有自己计算逻辑的会走执行这3个阶段
  • 基于其它函数组合成自己逻辑的函数只会走过第1个阶段,然后在调用其它ATen函数时又回到调用函数的第1个阶段
  • 有自己计算逻辑的ATen函数执行3个阶段是普遍情况,不过也有些在第1个Dispatcher 阶段后对于不同的DispatchKeySet 给出了不同的计算入口函数,这样就不用第2个DispatchStub 阶段,而直接到第3个阶段。比如 at::bmm_out 函数,在这个例子中可以看到

下面详细说明这3个阶段

Dispatcher 阶段

Pytorch在编译时生成了许多代码,其中包括了 计算入口函数 的声明(torch/include/ATen/NativeFunctions.h,具体生成过程参考 Pytorch 代码生成过程),然后将这些函数注册到Dispatcher中,这样在组网/计算调用ATen函数时才能够根据 Tensor的sparse 和 DispatchKeySet 调用到合适的 计算入口函数,执行具体的计算逻辑(其中也有可能再调用其它ATen函数)

Pytorch Dispatcher 的实现又细分为2个过程:注册过程、查询过程

Dispatcher 注册过程

参考源代码,注册的过程分两大步,通过两个宏定义 TORCH_LIBRARY 和 TORCH_LIBRARY_IMPL 实现

Register definition:TORCH_LIBRARY

文件

函数或命令

主要功能描述

build/aten/src/ATen/RegisterSchema.cpp

TORCH_LIBRARY(aten, m) {
// m is a torch::Library; methods on it will define
// operators in the aten namespace
m.def("add.Tensor(Tensor self, Tensor other, *, Scalar alpha=1) -> Tensor");
......
}

此文件为编译过程中的代码生成,详细参考,模板为aten/src/ATen/templates/RegisterDispatchKey.cpp

【注意】注册的namespace名字(这里为aten)会作为下面Dispatcher注册时函数名的前缀,且Dispatcher查询时在函数名前也要加上相应的namespace名字才能查询

torch/library.h

#define TORCH_LIBRARY(ns, m) \
  static void TORCH_LIBRARY_init_ ## ns (torch::Library&); \
  static const torch::detail::TorchLibraryInit TORCH_LIBRARY_static_init_ ## ns ( \
    torch::Library::DEF, \
    &TORCH_LIBRARY_init_ ## ns, \
    #ns, c10::nullopt, __FILE__, __LINE__ \
  ); \
  void TORCH_LIBRARY_init_ ## ns (torch::Library& m)

Library& def(detail::SelectiveStr<true> raw_schema) & {
    return def(raw_schema.operator const char *());
}

template <typename Schema>
  Library& def(Schema&& raw_schema) & {
    c10::FunctionSchema s = schema(std::forward<Schema>(raw_schema));
    return _def(std::move(s));
}

TORCH_LIBRARY的宏定义,包含3步:

  1. 声明静态函数,使用namespace名称区分函数名
  2. 构造torch::detail::TorchLibraryInit对象过程中,构造了1个kind为torch::Library::DEF的torch::Library对象 并将其作为参数传给1中定义的函数执行
  3. 第1步声明函数的具体定义,下面接上m.def等语句

所以如上两部分结合起来,可以看到实际上是构造了1个torch::Library对象,并调用对象中的def方法逐个注册C++ Native Function

需要注意:

  1. 因为是多次调用def方法,所以def方法的返回类型为 Library&
  2. def函数的输入是代表 C++ Native Function 的字符串,需要调用schema 函数(及torch::jit::parseSchema方法),将字符串解析为c10::FunctionSchema 对象,再进行注册,FunctionSchema 的主要成员如下,即为函数声明的各个部分:
    • OperatorName name_;

    • std::vector<Argument> arguments_;

    • std::vector<Argument> returns_;

    • c10::optional<AliasAnalysisKind> alias_kind_;

aten/src/ATen/core/library.cpp

Library& Library::_def(c10::FunctionSchema&& schema, c10::OperatorName* out_name) & {

......

registrars_.emplace_back(
    c10::Dispatcher::singleton().registerDef(
      std::move(schema),
      debugString("", file_, line_)
    )
  );
  return *this;
}

  1. 先做一些检查,确保是第一次注册,否则报错
  2. 再调用Dispatcher对象的registerDef方法进行注册
aten/src/ATen/core/dispatch/Dispatcher.h

C10_ALWAYS_INLINE static Dispatcher& singleton()

C10_EXPORT Dispatcher& Dispatcher::realSingleton() {
  static Dispatcher _singleton;
  return _singleton;
}

通过 c10::Dispatcher::singleton() 获得1个静态Dispatcher对象,即所有 C++ Native Function 都是注册到1个Dispatcher对象中
aten/src/ATen/core/dispatch/Dispatcher.cpp

RegistrationHandleRAII Dispatcher::registerDef(FunctionSchema schema, std::string debug) {

  ......

  OperatorName op_name = schema.operator_name();
  auto op = findOrRegisterName_(op_name);
  ......
  op.operatorDef_->op.registerSchema(std::move(schema), std::move(debug));
  listeners_->callOnOperatorRegistered(op);

  // NB: do not increment the counts until AFTER error checking
  ++op.operatorDef_->def_count;
  ++op.operatorDef_->def_and_impl_count;

  return RegistrationHandleRAII([this, op, op_name] {
    deregisterDef_(op, op_name);
  });
}
  1. 调用findOrRegisterName_函数,查找Dispatcher对象中的 operatorLookupTable_ 是否有指定op_name的OperatorHandle。如果没有,则使用op_name新构造一个;如果有,则取出来。需保证def_count为0,否则代表重复定义,报错
  2. op.operatorDef_→op表示取到std::list<OperatorDef> operators_上对应此op的OperatorEntry,调用其registerSchema方法进行注册
  3. 成功后将 def_count 和 def_and_impl_count 增加计数,并且返回RegistrationHandleRAII对象,其能够撤销注册

附operatorLookupTable_的定义:

  • LeftRight<ska::flat_hash_map<OperatorName, OperatorHandle>> operatorLookupTable_
aten/src/ATen/core/dispatch/OperatorEntry.cppvoid OperatorEntry::registerSchema(FunctionSchema&& schema, std::string&& debug) {
  TORCH_INTERNAL_ASSERT(!schema_.has_value());
  // NOLINTNEXTLINE(modernize-loop-convert)
  for (auto i = kernels_.begin(); i != kernels_.end(); ++i) {
    for (auto j = i->second.begin(); j != i->second.end(); ++j) {
      if (j->inferred_function_schema != nullptr) {
        checkSchema(name_, schema, debug, *j->inferred_function_schema, j->debug);
      }
    }
  }
  // NB: don't register schema until after we've checked everything!
  dispatchKeyExtractor_.registerSchema(schema);
  schema_ = AnnotatedSchema(std::move(schema), std::move(debug));
}
  1. 比较要注册的C++ Native Function schema和 成员kernels_字典所有AnnotatedKernel中的inferred_function_schema的一致性,要么缺省要么相等,否则报错
  2. 初始化了OperatorEntry中的2个成员,完成注册定义:
    • c10::optional<AnnotatedSchema> schema_。用于和之后注册实现函数的schema进行比较,相同才注册
    • DispatchKeyExtractor dispatchKeyExtractor_。这个对象中包含1个bitset(64位),如果C++ Native Function中某个位置上的参数是Tensor类型(或Tensor列表),则对应的位置上(倒序)设置为1。例如位置0上的参数是Tensor类型,则第63 bit设置为1,以此类推。这样做的目的是记录函数的Tensor类型(或Tensor列表)参数的位置,在dispatch时考虑这些位置上的数据类型,选择合适的C++ Native Function执行具体计算逻辑

Register implementation:TORCH_LIBRARY_IMPL

Dispatcher 查询过程

以 torch.add 为例,Python端过程参考上一页,C++端如下

DispatchStub 阶段

经过Dispatcher,找到了 ATen函数的计算入口函数,下面设其中有具体的计算逻辑,会使用DispatchStub (如果没有,则调用其它ATen函数,回到那个ATen函数的Dispatcher阶段)

DispatchStub 根据Tensor 所处Device 选择 实际计算函数,其实现又细分为4个过程:声明过程、定义过程、注册过程、查询过程。无论任何设备,这个实际计算函数都要求是一样的类型(函数输入、输出一样)

下面还是以 torch.add 为例,这里 说明了其从Python端调用开始的整个过程,其中在调用 at::native::structured_add_out::impl 函数时,其中使用了 DispatchStub

Dispatch 数据类型阶段

经过DispatchStub,找到了 ATen函数的实际计算函数,函数中会根据 Tensor 的Datatype 实例化 实际计算逻辑,这里一般通过宏定义实现

下面还是以 torch.add 为例,这里 说明了其从Python端调用开始的整个过程,其中找到实际计算函数add_kernel_cuda后,使用了 AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND3 实例化 实际计算逻辑

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

相关文章

  1. 【算法】下一个排列

    题目描述 实现获取下一个排列的函数&#xff0c;算法需要将给定的数字序列重新排列成字典序中下一个更大的排列&#xff0c;如果不存在则将数字重新排列成最小的排列&#xff08;即升序排列&#xff09;&#xff0c;必须原地修改。 例如 1,2,3 --> 1,3,2 1,5,8,6,7,3,2,1 -…...

    2024/4/14 6:19:58
  2. VUE打包注意事项:路径问题会引起这个错 Uncaught SyntaxError: Unexpected token ‘<‘

    遇到这样的问题不用紧张 Uncaught SyntaxError: Unexpected token < 你只需要 修改配置项&#xff1a;【发布的目录配下即可】 module.exports {// 部署生产环境和开发环境下的URL。// 默认情况下&#xff0c;Vue CLI 会假设你的应用是被部署在一个域名的根路径上// 例如 …...

    2024/4/20 23:14:45
  3. 单击Artwork时没有弹窗的问题

    单击Artwork时没有弹窗的问题 今天在生成Gerber时发现怎么单击Artwork,就是像照相机图标的那个东西&#xff0c;都没有弹出曾经熟悉的弹窗&#xff0c;虽然Art文件是生成了&#xff0c;但是没有这个弹窗的信息反馈让我感觉到着实难安&#xff0c;因为你不知道生成的这些东西到底…...

    2024/4/19 19:12:42
  4. 第十一届蓝桥杯大赛软件类省赛第二场C/C++大学B组的python实现

    题目1. 门牌制作2. 既约分数3. 蛇形填数4. 跑步锻炼5. 七段码6. 成绩查询7. 回文日期8.子串分值和9. 平面切分10.字串排序1. 门牌制作 思路&#xff1a;从1到2020&#xff0c;查看之间有多少个2即可代码实现&#xff1a; ls [] for i in range(1, 2021):ls.append(str(i)) a…...

    2024/4/28 4:22:46
  5. Keras opencv -- 识别是否佩戴口罩

    目录流程分析OpenCV为Keras提供数据OpenCV摄像头截图Keras 卷积神经加载数据到内存卷积神经网络构建以及训练保存结合模型进行识别最终完整代码效果演示流程分析 OpenCV为Keras提供数据 以摄像头截图人脸为Keras提供训练集测试集数据 带口罩的图片存放在 imgs/yes/ 没带口罩的图…...

    2024/4/29 19:15:35
  6. 快解析:免费版、商业版选择指南

    域名解析的应用场景广泛&#xff0c;版本繁多&#xff0c;不知道选择哪个版本怎么办&#xff1f; 首先我们需要了解软件究竟是如何工作的&#xff1a;客户通过域名访问&#xff0c;总共需要3个步骤实现&#xff1a; &#xff08;1&#xff09;&#xff1a;客户端输入域名访问服…...

    2024/4/28 1:25:45
  7. [侯捷C++](内存管理)

    文章目录第一讲&#xff1a;primitives四种内存分配与释放基本构件之 new/delete expression1、内存申请2、内存释放3、模拟编译器直接调用构造和析构函数Array new第二讲&#xff1a;malloc/free第三讲&#xff1a;std::allocator第四讲&#xff1a;other allocators第五讲&am…...

    2024/4/29 1:15:52
  8. LIN通信协议以及概念

    1 LIN基本概念 LIN(Local Interconnect Network)总线是针对汽车分布式电子系统而定义的一种低成本的串行通讯网络&#xff0c;是对控制器区域网络(CAN)等其它汽车多路网络的一种补充&#xff0c;适用于对网络的带宽、性能或容错功能没有过高要求的应用。LIN总线是基于SCI(UART)…...

    2024/4/28 5:55:41
  9. 设计模式---中介者模式---18

    优点&#xff1a; 中介者的出现减少了各个对象的耦合&#xff0c;使得可以独立地改变和复用各个对象和中介者&#xff0c;其次&#xff0c;由于把对象如何协作进行了抽象&#xff0c;将中介作为一个独立的概念并将其封装在一个对象中&#xff0c;这样关注的对象就从对象各自本身…...

    2024/4/29 2:11:27
  10. java并发编程Future类详解

    作用和举例 future类的作用就是为了调用其他线程完成好后的结果&#xff0c;再返回到当前线程中&#xff0c;如上图举例&#xff1a; 小王自己是主线程&#xff0c;叫外卖等于使用future类&#xff0c;叫好外卖后小王就接着干自己的事去了&#xff0c;当外卖到了的时候&#x…...

    2024/4/28 9:44:28
  11. Touchgfx:Clicklistener之 Callback模板实现原理

    Touchgfx:Clicklistener之 Callback模板实现原理前言一、使能控件ClickListener功能二、回调函数的定义以及使用1.声明回调函数2.定义与初始化3.将回调函数与控件进行绑定4.实现后续逻辑功能前言 使用Touchgfx时需要自己单独单加一个点击事件的回调函数&#xff0c;例如Box控件…...

    2024/4/28 3:44:33
  12. Kotlin入门笔记(三) Kotlin 程序逻辑控制(if,when)

    前言:本教程最好在有JAVA的基础下进行学习 一、if语句的使用 kotlin中的条件语句主要有两种实现方式&#xff1a;if 和 when。 相同用法&#xff1a; fun largerNumber(num1 : Int , num2 : Int) : Int{var value 0if(num1 > num2) {value num1} else { value num2}r…...

    2024/4/28 8:50:17
  13. Java虚拟机之类加载子系统

    文章目录类加载机制类加载器双亲委派模型破坏双亲委派模型类加载过程加载连接验证准备解析初始化打破双亲委派机制类加载机制 虚拟机把描述类的数据从Class文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff0c;最终形成被虚拟机直接使用的Java类型,这就是…...

    2024/4/28 9:10:52
  14. SharDingJDBC-4.0.0-RC1按月水平分表

    废话不多说&#xff0c;上代码&#xff01; <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1</version></dependency>关键配置yml …...

    2024/4/28 5:01:28
  15. 解决pycharm ‘python tests in *****.py’

    1、在Pycharm中右键运行python程序时出现Run pytest in *****.py &#xff0c;这是进入了Pytest模式。 2、解决办法 进入到File->Settings->Tools->Python integrated Tools页面 找到Testing下的Default test runner 把Pytest设置为Unittests就可以了...

    2024/4/28 5:27:05
  16. arima模型python实现_Python如何进行Arima建模

    # pip install pmdarimafrom pmdarima.arima import auto_arimaimport pandas as pd#1.然后&#xff0c;输入数据&#xff0c;可根据实际情况读取数据文件 datapd.DataFrame({gdp:[1.21,1.34,1.47,1.66,1.96,2.29,2.75,3.55,4.59,5.1,6.09,7.55,8.53,9.57,10.44,11.02,11.14,12…...

    2024/5/1 5:22:10
  17. javascript 判断美国现在是冬令时、夏令时

    使用了一个 npm 库进行操作。 npm i time-zone/date --save import {isUS_Dst,isUS_Wt} from time-zone/date // 判断美国现在是否夏令时&#xff0c;true 为是 let date isUS_Dst()// 判断美国现在是否冬令时&#xff0c;true 为是 let date isUS_Wt() 文档地址&#xff1…...

    2024/4/28 19:11:30
  18. PAT Basic Level-1018 锤子剪刀布

    1018 锤子剪刀布 (20 分) 大家应该都会玩“锤子剪刀布”的游戏&#xff1a;两人同时给出手势&#xff0c;胜负规则如图所示&#xff1a; 现给出两人的交锋记录&#xff0c;请统计双方的胜、平、负次数&#xff0c;并且给出双方分别出什么手势的胜算最大。 输入格式&#xff1…...

    2024/4/28 3:18:56
  19. 洛谷P1484:种树(反悔贪心)

    解析 反悔贪心好题。 我放弃wqs二分做法好吧。 要加强从边界和特殊情况入手思考问题的思想。 考虑选一个的时候&#xff0c;肯定是选最大值。 此时它两侧的值就不能选了。 那如果我后来不选这个最大值了&#xff0c;必然是我转而把它两侧的值都给选了&#xff0c;额外消耗一…...

    2024/4/28 8:09:57
  20. 不重复短随机数抽取

    今天小朋友问我一个短随机数抽取的问题&#xff0c;因为只有6位限制&#xff0c;不能雪花不能uuid&#xff0c;2个方案给大家参考一下 方案1&#xff1a; redis存所有的数字&#xff0c;本地抽随机数&#xff0c;按照随机数取redis取&#xff0c;取过删除&#xff0c;没取到重…...

    2024/4/28 0:39:33

最新文章

  1. 一文读懂PWM(脉宽调制)的基本原理及应用

    一文读懂PWM&#xff08;脉宽调制&#xff09;的基本原理及应用 VLAN&#xff08;Virtual Local Area Network&#xff09;是虚拟局域网的缩写&#xff0c;是一种将一个物理局域网&#xff08;LAN&#xff09;划分成多个广播域的技术。每个VLAN是一个广播域&#xff0c;VLAN内…...

    2024/5/6 12:22:56
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/6 9:38:23
  3. Java-运算符

    运算符 Java语言支持如下运算符&#xff1a; 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;--复制运算符&#xff1a;关系运算符&#xff1a;>, <, >, <, , !instanceof逻辑运算符&#xff1a;&&…...

    2024/5/5 8:51:26
  4. windows更新驱动导致Linux虚拟机网卡找不到

    windows更新驱动导致Linux虚拟机网卡找不到 1、现象2、解决过程3、参考 1、现象 原先虚拟机配置了静态IP&#xff0c;更新windows驱动后xshell连接不上这台虚拟机&#xff08;其他几台也是&#xff09;。 2、解决过程 service network restart出现一下报错&#xff1a; Rest…...

    2024/5/5 8:45:04
  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/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,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
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 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系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

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

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

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

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

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

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

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

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

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

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

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

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