TI DaVinci(达芬奇)入门

德州仪器(TI)的第一颗达芬奇(DaVinci)芯片(处理器)DM6446已经问世快三年了。继DM644x之后,TI又陆续推出了DM643x,DM35x,DM6467,OMAP353x等一系列ARM+DSP或ARM+视频协处理器的多媒体处理器平台。很多有很强DSP开发经验或ARM开发经验的工程师都转到达芬奇或通用OMAP(OMAP353x)平台上开发视频监控、视频会议及便携式多媒体终端等产品。大家都面临着同一个问题,那就是如何实现ARM和DSP或协处理器的通信和协同工作?TI的数字视频软件开发包(DVSDK)提供了CodecEngine这样一个软件模块来实现ARM和DSP或协处理器的协同工作。有很多工程师反馈这个软件模块非常好用,节省了很多开发时间,也有工程师认为TI提供的资料太多,不知如何快速上手。本文将从一个第一次接触Codec Engine的工程师角度出发,归纳TI提供的相关资源(文档,例程和网络资源)并介绍相关开发调试方法帮您快速入门Codec Engine。

1.Codec Engine概述
如图1所示,Codec Engine是连接ARM和DSP或协处理器的桥梁,是介于应用层(ARM侧的应用程序)和信号处理层(DSP侧的算法)之间的软件模块。ARM应用程序调用Codec Engine的VISA (Video, Image, Speech, Audio)API,如图1中VIDENC_process(a, b, c )。Codec Engine的stub (ARM侧)会把参数a, b, c以及要调用DSP侧process这个信息打包,通过消息队列(message queue)传递到DSP。CodecEngine的skeleton(DSP侧)会解开这个参数包,把参数a, b, c转换成DSP侧对应的参数x, y, z(比如ARM侧传递的是虚拟地址,而DSP只能认物理地址),DSP侧的server(优先级较低,负责和ARM通信的任务)会根据process这一信息创建一个DSP侧的process(x, y, x)任务最终实现VIDENC_process(a, b, c)的操作。


图1 达芬奇软件结构框图

2.Codec Engine入门第一步,从Codec Engine发布说明文档(release notes)开始


图2 Codec Engine 1.20 Release Notes截图

3.Codec Engine入门第二步,了解Codec Engine的运行环境及依赖的软件模块和工具
点击Codec Engine的发布说明文档 (如图2)的Validation Info,我们可以知道Codec Engine 1.20需要和以下软件模块和工具配合使用:

· Framework Components 1.20.02

· xDAIS 5.21

· XDC Tools 2.93.01

· DSP/BIOS Link 1.40.05, configured for the DM6446 EVM

· C6x Code Generation Tools version 6.0.8

· DSP/BIOS 5.31.05

· MontaVista Linux v4.0

· Red Hat Enterprise Linux 3 (SMP)

因此,我们需要在该Codec Engine安装的DVSDK文件包下面检查上面提到的软件模块和工具是否安装,版本是否正确。否则,可能会编译不过 Codec Engine的例子。那么,什么是 Framework Components,什么是xDAIS,什么又是XDC Tools呢?你可以分别到它们的根目录下浏览它们各自的发布说明文档,做一个总体的了解。

这里我们简单介绍一下,可以帮助大家尽快找到和自己相关的重点及资源。

1) Framework Components是TI提供的一个软件模块,负责DSP侧的memory 和DMA资源管理。因此,DSP算法工程师需要了解这个软件模块。
http://tiexpressdsp.com/wiki/index.php?title=Framework_Components_FAQ

2) xDAIS 是一个标准,它定义了TI DSP算法接口的标准。这样大大提高了DSP算法软件的通用性。DSP算法工程师要写出能被ARM通过Codec Engine调用的算法,必须保证自己的算法接口符合这个标准。因此,DSP算法工程师也必须了解这个软件模块。

http://tiexpressdsp.com/wiki/index.php?title=Category:XDAIS

3) XDC Tools和gmake类似,是一个工具。XDC根据用户定义的一套build指令,通过调用用户指定的ARM 工具链(Tool Chain)和DSP编译器(C6x Code Generation Tools )build出ARM侧和DSP侧的可执行文件。可以先不必细究这个工具,只需通过编Codec Engine的例子,知道如何设置build指令就可以了。

4) DSP/BIOS Link是实现ARM和DSP之间通信的底层软件,Codec Engine就是建立在这个底层软件之上。在修改系统内存分配(缺省是256MB的DDR2)时,DSP/BIOS Link 1.38版本的用户需要修改DSP/BIOS Link的配置文件,并重新build DSP/BIOS Link。而DSP/BIOS Link 1.40版本以后的用户就无需此操作。

http://tiexpressdsp.com/wiki/index.php?title=DSPLink_Overview
http://wiki.davincidsp.com/index.php?title=Changing_the_DVEVM_memory_map

5) C6x Code Generation Tools是Linux环境下C6000系列DSP的编译器。我们用CCS开发DSP时都是用的Windows环境下的DSP编译器。

6) DSP/BIOS是TI 免费提供的DSP实时操作系统。和上面C6x Code Generation Tools一样,这里的DSP/BIOS也是Linux环境下的版本。DSP系统工程师需要了解这个操作系统。

http://tiexpressdsp.com/wiki/index.php?title=Category:DSPBIOS

4.Codec Engine入门第三步,根据自己的角色参考相关的文档和例子进行开发
开发ARM+DSP平台需要三类工程师:ARM应用程序工程师、DSP算法工程师和DSP系统工程师。而开发ARM+协处理器平台只需要ARM应用程序工程师。下面就让我们针对这三类工程师做分别介绍。如果您使用的是TI或TI第三方的编解码算法,就不需要关注DSP算法工程师的部分。如果使用ARM+协处理器平台,就只需关心ARM应用工程师的部分。

4.1 DSP算法工程师应该如何着手?
这里我们不讨论如何开发DSP算法,只讨论DSP算法工程师怎样让自己的算法可以被ARM通过Codec Engine调用。(参考http://www.ti.com/litv/pdf/sprued6c,这个文档会讲到codec package及相关的.xs和.xdc文件,CodecEngine1.20及以上版本的用户可以先不细究这些内容,后面会介绍工具帮您自动生成这些文件。) 
1) 熟悉xDAIS和xDM标准。
xDM只是xDAIS的扩展,因此,需要先了解xDAIS。在xDAIS 软件包根目录下的发布说明文档里,可以很快找到关于xDAIS和xDM的文档链接。
http://focus.ti.com/lit/ug/spruec8b/spruec8b.pdf
在xDAIS安装路径下的examples/ti/xdais/dm/examples/g711有一个g711_sun_internal.c,这个算法不符合xDAIS标准。在同一个路径下的g711dec_sun_ialg.c (decoder)和g711enc_sun_ialg.c (encoder)是封装成符合xDM标准之后的编解码算法。可以通过这个例子学习和了解如何把自己算法封装成符合xDM标准的算法。xDAIS 6.10及其以后的版本,包含了一个工具QualiTI,可以检查您的DSP算法是否满足xDAIS标准(但不会检查是否满足xDM)。具体请参考:

http://tiexpressdsp.com/wiki/index.php?title=QualiTI_XDAIS_Compliance_Tool

2) 熟悉Framework Components。 Framework Components主要包括两个模块DSKT2和DMAN3,它们分别负责DSP侧的memory 和EDMA资源管理。DSP算法使用的memory必须是先向DSKT2提出申请并由DSKT2分配得到的。同样DSP算法使用的EDMA通道也是向DMAN3申请并由DMAN3分配得到的。而关于QDMA的操作,是通过ACPY3这个模块实现的。这样的好处是很容易对DSP侧不同的算法做整合,不同的算法之间不用担心资源(Memory和EDMA)的冲突问题。在FrameworkComponents 软件包根目录下的发布说明文档里,可以很快找到相关文档的链接。在您理解如何基于Framework Components的ACPY3模块实现QDMA的操作。另外,有些用户DSP侧的算法比较简单,在确保不和ARM侧EDMA资源冲突的前提下在算法里直接操作EDMA不使用DMAN3也是可以的。这样做的弊端是和其它算法做整合时会遇到资源使用冲突的问题。

4.2 DSP系统工程师应该如何着手?
通常DSP算法工程师都会把自己的符合xDM标准算法编成一个.lib文件(或 .a64P),供DSP系统工程师调用。DSP系统工程师最终build出一个DSP Server(也就是DSP的可执行程序.x64P,和CCS下编译生成的.out类似)。(参考http://focus.ti.com/lit/ug/sprued5b/sprued5b.pdf,这个文档会讲到.xdc和.bld等文件,CodecEngine1.20及以上版本的用户可以先不细究,后面介绍工具帮您自动生成这些文件。)

1) 如果现在有一个.lib文件(或 .a64P)(算法必须符合xDM标准),如何生成自己的DSP Server呢?下面URL有详细的关于RTSC Codec and Server Package Wizard工具介绍,教您如何把一个.lib文件封装成RTSC Codec 包和RTSC DSP Server包,并最终build出DSP的可执行程序.x64P。

http://wiki.davincidsp.com/index.php?title=RTSC_Codec_And_Server_Package_Wizards 
http://wiki.davincidsp.com/index.php?title=I_just_want_my_video_codec_to_work_with_the_DVSDK

2) 如果您使用的是Codec Engine 1.20以前的版本,请参考Codec Engine安装路径下examples/servers/video_copy这个例子。这时就需要搞清楚sprued6c.pdf和sprued5b.pdf中提到的.xdc和.xs等文件的功能,也可以在video_copy中的相关文件的基础上修改手动创建出自己的RTSC Codec包和RTSC DSP server包。

3) 创建好RTSC Codec 和RTSC DSP Server包之后,就是如何build出.x64P的问题了。点击图2所示的Examples,就可以找到build Codec Engine例子的说明文档的链接。按照这个文档做一遍后,就可以对如何build Codec Server有一个清楚的了解。其中关键是修改user.bld和xdcpaths.mak文件,设置Codec Engine依赖的其它软件模块和工具的正确路径。

4) 如果自己的硬件DDR2大小和例子中的256Mbytes不一致,需要修改DSP的.tcf文件和其他配置。还有些工程师不清楚如何分配memory及如何决定具体段,如:DDRALGHEAP和DDR的大小,以及如何配置./loadmodules里的参数都请参考:http://wiki.davincidsp.com/index.php?title=Changing_the_DVEVM_memory_map。

4.3 ARM应用程序工程师应该如何着手?
ARM应用工程师需要调用Codec Engine的VISA API,最终编出ARM侧的可执行程序,因此,必须根据自己的应用学习相关的VISA API、如何创建应用侧Codec Engine的package及配置文件。(参考http://focus.ti.com/lit/ug/sprue67d/sprue67d.pdf,这个文档也涉及到如何调试CodecEngine的内容)。

1)了解ARM应用程序调用Codec Engine的流程、VISA API和其他Codec Engine API。可以参考Codec Engine安装路径下examples/apps/video_copy的例子(较简单)或者DVSDK安装路径下demos里的encode/decode/encodedecode例子(较复杂)。
http://wiki.davincidsp.com/index.php?title=Configuring_Codec_Engine_in_Arm_apps_with_createFromServer

2) 了解ceapp.cfg文件。sprue67d.pdf有相关介绍,可以先读懂examples/apps/video_copy/ceapp.cfg。

3) 用4.2 3)中提到的方法学习如何build ARM侧的可执行程序。

4) 如何在多线程中调用codec engine,参考:
http://wiki.davincidsp.com/index.php?title=Multiple_Threads_using_Codec_Engine_Handle

5)还可以参考以下三个文档了解更多TI demo的ARM应用程序的结构、线程调度等具体的问题。

EncodeDecode Demo for the DaVinci DVEVM/DVSDK 1.2 (Rev. A) (spraah0a.htm, 8 KB)
27 Jun 2007 Abstract

Encode Demo for the DaVinci DVEVM/DVSDK 1.2 (Rev. A) (spraa96a.htm, 8 KB)
27 Jun 2007 Abstract

Decode Demo for the DaVinci DVEVM/DVSDK 1.2 (Rev. A) (spraag9a.htm, 8 KB)
27 Jun 2007 Abstract

5.使用中常碰到的问题
1)如果遇到问题可以先访问 http://wiki.davincidsp.com/index.php?title=Codec_Engine_FAQ。

2)有些工程师没有DSP开发经验,或者暂时没有仿真器通过JTAG调试DSP。可以参考下面网页的内容,先做一个“Hello World”的例程对ARM和DSP如何协同工作有个感性认识。

http://wiki.davincidsp.com/index.php?

title=How_to_build_an_ARM/DSP_Hello_World_program_on_the_DaVinci_EVM

3) 很多工程师都是参考video_copy的例子,在它的基础上把自己的算法加进去。因为有源代码,这样比较容易。但肯定要根据自己算法的需要修改ARM和DSP之间传递的buffer和参数,重要的是先保证ARM侧的应用程序可以把buffer和参数正确传递到DSP,DSP可以把处理之后的buffer正确的传到ARM侧的应用程序。把这个通路打通之后,就比较容易定位问题是出在ARM应用程序还是DSP侧的算法。另外,参考video_copy例子时注意代码的注释,以便清楚哪一句代码可以删掉哪一句必须要修改或保留。

如果要扩展xDM的数据结构请参考:

http://wiki.davincidsp.com/index.php?title=Extending_data_structures_in_xDM。

4) Codec Engine DSP侧会涉及到Cache一致性的问题。请参考:
http://wiki.davincidsp.com/index.php?title=Cache_Management

5) 关于Codec Engine系统调试,有以下几种方法:

A. 打开Codec Engine trace,通过打印信息看问题出在什么地方。比如engine_open失败,DSP侧不能创建codec 等等。

a) Codec Engine 2.0及以上版本,请参考: http://wiki.davincidsp.com/index.php?title=Easy_CE_Debugging_Feature_in_CE_2.0

b) Codec Engine 1.x版本,请参考: http://wiki.davincidsp.com/index.php?title=TraceUtil

B. ARM应用程序跑起来后,用仿真器连上CCS调试DSP侧程序,参考:

http://wiki.davincidsp.com/index.php?title=Debugging_the_DSP_side_of_a_CE_application_on_DaVinci_using_CCS

C. 用Soc Analyzer可以做系统调试之外,还可以统计具体函数运行(ARM和DSP侧)时间(benchmark)。请参考:http://tiexpressdsp.com/wiki/index.php?title=SoC_Analyzer

6) 因为Codec Engine是介于ARM 应用程序和编解码算法中间的软件模块,很多工程师非常想知道它的开销(overhead),请参考:
http://wiki.davincidsp.com/index.php?title=Codec_Engine_Overhead

7)如何在Linux环境下编DSP的汇编或线性汇编程序?在Codec Engine安装路径下/packages/config.bld文件里var C64P = xdc.useModule(‘ti.targets.C64P’);
之后添加: 
C64P.extensions[“.sa”] = {
suf: “.sa”, typ: “asm:-fl”
}

C64P.extensions[“.asm”] = {
suf: “.asm”, typ: “asm:-fa”

8)DSP侧如何统计具体函数运行时间?
TI DSPC64x+内核有一个64位的硬件定时器(Time Stamp Counter),它的频率和CPU频率一致。最简单的办法是使用TSC的低32位TSCL。注意在DM644x中,TSCH用于ARM。
#include void main (){

TSCL=0;

t1=TSCL;
my_code_to_benchmark();
t2=TSCL;
printf(“# cycles == %d\n”, (t2-t1));
}

6.结语
以上针对如何上手TI的Codec Engine做了简单的归纳,还有很多具体细节的问题没有涉及到。各位工程师从自己要用的软件模块发布说明文档开始找到相关的文档并研究,经常访问TI的网页,http://wiki.davincidsp.com和http://tiexpressdsp.com/wiki找到最新的信息和资料。

本文在TI网站上英版链接为http://processors.wiki.ti.com/index.php?title=Quickly_Getting_Started_on_TI_Codec_Engine)

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

相关文章

  1. 小甲鱼Python入门 12讲 答案

    1. 请问如何将下边这个列表的’小甲鱼’修改为’小鱿鱼’? list1 = [1, [1, 2, [小甲鱼]], 3, 5, 8, 13, 18] list1[1][2][0] = 小鱿鱼2. 要对一个列表进行顺序排序,请问使用什么方法? >>> 列表名.sort()3. 要对一个列表进行逆序排序,请问使用什么方法? >>…...

    2024/5/2 16:19:57
  2. 网站性能工具Yslow使用

    Yslow压力测试1.yslow介绍概述:YSlow是Yahoo发布的一款插件,可安装在Firefox或Chrome上,这个插件可以分析网站的页面,并告诉你为了提高网站性能,如何基于某些规则而进行优化。2.安装方法可以安装在Firefox(Firefox需要安装36以下的版本)或Chrome上,以Chrome举例,在浏览…...

    2024/4/16 7:04:32
  3. 游戏中AOI视野算法

    AOI(Area Of Interest),中文就是感兴趣区域。通俗一点说,感兴趣区域就是玩家在场景实时看到的区域;也就是AOI会随着英雄的移动改变而改变。游戏的AOI算法应该算作游戏的基础核心了,许多逻辑都是因为AOI进出事件驱动的,许多网络同步数据也是因为AOI进出事件产生的。因此,良…...

    2024/4/13 8:17:35
  4. 数据库与Mysql - 12

    存储过程 说明 都类似于JAVA中的方法,将一组完成特定功能的逻辑语句包装起来,对外暴露名字好处 1.提高重用性 2.SQL语句简单 3.减少了和数据库服务器连接的次数,提高了效率存储过程-创建语法 CREATE PROCEDURE 存储过程名(参数列表) BEGIN存储过程体(一组合法的SQL语句) END注意…...

    2024/4/20 5:59:33
  5. 数据结构作业 栈 实现 括号匹配 问题

    数据结构作业 栈 实现 括号匹配 问题 毕竟太菜 照着demo敲了几天才 搞定。 栈的几个基本应用函数顺便敲了 其他的就不详说了. 见代码: #include <stdio.h> #include <stdlib.h>#define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #defi…...

    2024/4/13 1:20:28
  6. 小甲鱼零基础学习python_2 【if -else】

    今天学习了Python 2 if-else 语句等内容: 几大内容:1.python中无需声明变量,但是变量必须赋值才能使用;同时python区分大小写:对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。 Python只有当标识符已经赋值后才可使用(python变量无需声…...

    2024/4/13 19:18:06
  7. Davinci DM6446开发攻略-UBOOT-2009.03移植2 nand flash的烧写

    很长一段时间没有更新博客了,是因为要推出新开发方案和做好客户服务工作,忙得不易乐乎。有关DAVINCI U-BOOT的移植,以前写过一篇u-boot-1.3.4(2008年的),其实和这个u-boot-2009.03差别不大,只不过这个u-boot-2009.03是从TI的网站上下载的,是DAVINCI系列最新的u-boot,也…...

    2024/4/12 5:35:39
  8. Yslow的用法

    Yslow的用法 2011-11-15 19:39:12| 分类: Yslow | 标签: |字号大中小 订阅 Yslow是雅虎开发的基于网页性能分析浏览器插件,从年初我使用了YSlow后,改变了博客模板大量冗余代码,不仅提升了网页的打开速度,这款插件还帮助我分析了不少其他网站的代码,之前我还特意写了…...

    2024/4/12 5:36:15
  9. Layui入门简单使用(hello world)

    jsp页面 (hello world) 将layui的文件夹复制到项目中<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title><link rel="stylesheet" href="layui/css…...

    2024/4/12 13:15:53
  10. Java实现括号匹配问题

    有效字符串需满足:左括号必须用相同类型的右括号闭合。包括:“( )”,“[ ]”,“{ }”。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。思路:在这里我们使用栈来实现。遍历字符串时判断:如果是左括号,那么我们将其入栈;如果为右括号,我们先判断栈是否…...

    2024/4/16 6:08:31
  11. 数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位oracle客户端组件的情况下以64位模式运行,将出现此问题。

    查看自己下载的Oracle客户端是不是32位的,我一开始一直出现这个错误,百度了以后都是让我把生成目标平台改为X86,改了之后还是出现标题中的错误,后来经过询问才发现我下载的Oracle客户端是64位的,于是就又下载了32位的,这个问题也就解决了。...

    2024/4/16 16:35:38
  12. 使用cocos2d-js制作游戏新手引导(一)

    ​ 想到新手引导的功能时可能很多人都会觉得头痛,难以下手。特别是在游戏本身功能或需求还不稳定的情况,更是难以应付,本人就是在这种情况下接受了一个艰巨的任务。在痛定思痛之后,开始了引导功能开发。在做的过程中一点点发现很多有意思的东西,想分享给大家。一、痛点:…...

    2024/4/18 11:58:33
  13. 小甲鱼python零基础课后习题009了不起的分支和循环3

    一、测试题0. 下面的循环会打印多少次"I Love FishC"?for i in range(0, 10, 2):print(I Love FishC)1. 下面的循环会打印多少次"I Love FishC"?for i in 5: print(I Love FishC)2. 回顾一下 break 和 continue 在循环中起到的作用?3. 请谈下你对列表的…...

    2024/4/12 5:36:03
  14. 数据结构-栈在括号匹配中的应用

    所谓括号校验匹配其实质是对多种类型括号正确配对的校验(包括:()、[]、{})即([])或者[()]为正确的表达式,如果出现交叉则匹配失败,如[(])或([())则为不正确格式。 该程序也运用了栈的思想。若是左括号则入栈,若是右括号则看是否和当前栈顶元素是否匹配。若是则出栈,不是…...

    2024/4/19 21:34:12
  15. YSlow工具的使用心得

    YSlow是yahoo美国开发的一个页面评分插件,非常的棒,从中我们可以看出我们页面上的很多不足,并且可以知道我们改怎么却改进和优化使用Yslow了解为什么你的网站运行速度慢-------------------------------------------------------------------------------------------------…...

    2024/4/19 21:36:42
  16. layui如何通过开关按钮实现div的隐藏于显现,展开时拥有动画效果(小菜鸟入门小白教程)

    小菜鸟们冲鸭!!由于本人是个小菜鸟,刚起步,所以写下遇到的点点滴滴,希望能给同是小菜鸟的大家带去一定的帮助吧!一、问题描述由于是小菜鸟,所用最开始只会用普通的css按钮,然后通过onclick事件来控制div的显隐,但是“师傅”却要求用layui的按钮,当时只会把按钮替换成…...

    2024/5/5 9:28:04
  17. 阿里云ECS Centos8 安装 (rpm方式)MySql5.7

    阿里云ECS Centos8 安装 (rpm方式)MySql5.71.下载2.解压3.准备工作4.使用 rpm 命令安装MySql组件5.启动mysql6.登录7.修改密码8.参考 1.下载直接在https://dev.mysql.com/downloads/mysql/官网下载; wget命令下载; wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mys…...

    2024/4/20 0:02:47
  18. DaVinci Resolve Studio(达芬奇调色)v15.3.0中文版

    Blackmagic Design DaVinci Resolve Studio 是 Blackmagic Design 旗下一款著名的调色软件,中文名叫“达芬奇调色”,DaVinci Resolve 15是全球第一套在同一个软件工具中,将专业离线编辑精编、校色、音频后期制作和视觉特效融于一身的解决方案!有了DaVinci Resolve 15,艺术…...

    2024/4/12 5:37:03
  19. [Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘(上)

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuan…...

    2024/4/12 5:37:03
  20. 小甲鱼零基础python第六讲笔记+作业

    测试题:Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢? 1.0 a < b < c 事实上是等于?(a<b)and (b<c)不使用 IDLE,你可以轻松说出 5 ** -2 的值吗? 1/25 如何简单判断一个数是奇数还是偶数? 能被 2 整除为偶数,所以…...

    2024/4/12 13:23:25

最新文章

  1. 1072 开学寄语(测试点2)

    solution 测试点2:物品编号可能不足四位&#xff0c;高位需补0 #include<iostream> #include<string> using namespace std; const int maxn 1e5; int flag[maxn] {0}; int main(){int n, m, k, cnt 0, cnt1 0, have, x;string id;cin >> n >> m…...

    2024/5/8 16:29:10
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/7 10:36:02
  3. Redis之缓存穿透、击穿、雪崩

    一、缓存穿透 缓存穿透是指在使用缓存系统时&#xff0c;特定的查询在缓存和数据库中都找不到结果&#xff0c;导致每次查询都要访问数据库&#xff0c;从而增加数据库的压力&#xff0c;降低系统的性能&#xff0c;若黑客利用此漏洞进行攻击可能压垮数据库。 当一个查询请求经…...

    2024/5/4 2:50:43
  4. vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持

    文章目录 一、v-model是什么二、什么是语法糖三、v-model常见的用法1、对于输入框&#xff08;input&#xff09;&#xff1a;2、对于复选框&#xff08;checkbox&#xff09;&#xff1a;3、对于选择框&#xff08;select&#xff09;&#xff1a;4、对于组件&#xff08;comp…...

    2024/5/4 20:45:28
  5. DDIM,多样性与运行效率之间的trade off

    DDPM的重大缺陷在于其在反向扩散的过程中需要逐步从 x t x_t xt​倒推到 x 0 x_0 x0​&#xff0c;因此其推理速度非常缓慢。相反&#xff0c;DDPM的训练过程是很快的&#xff0c;可以直接根据 x 0 x_0 x0​到 x t x_t xt​添加的高斯噪声 ϵ \epsilon ϵ完成一次训练。 为了解…...

    2024/5/8 4:05:48
  6. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/8 6:01:22
  7. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/7 9:45:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

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

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

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

    2024/5/7 14:25:14
  10. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

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

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

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

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

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

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

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

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

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

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

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

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

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

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024/5/4 23:54:56
  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