当前位置:首页 » 操作系统 » 显卡AI算法

显卡AI算法

发布时间: 2022-07-18 02:08:17

Ⅰ 手机上用的中低端显卡都能拿来做AI算法运算吗

算力太低了,不适合ai运算,只能类似于845的协同ai算法

Ⅱ 怎么去调用百度ai显卡

网络AI开放平台- API实战调用

一、 前言

首先说一下项目需求。

两个用户,分别上传了两段不同的文字,要计算两段文字相似度有多少,匹配数据库中的符合条件的数据,初步估计列出来会有60-100条左右,不会更多,只会更少。最终的需求是:从这些匹配结果中找到相似度较高的那些条目。

自己编写算法来实现是一个很大的工程,涉及到自然语言处理的一些方面,比较复杂。于是上网搜了搜,发现网络开放平台的自然语言处理可以免费调用,而且每天有10W的调用次数,对我的小项目来说正好满足。但是,在往下翻的时候,发现网络给了提示,不保证并发,也就是说,在我调用的时候很容易出现返回错误结果的情况,这部分需要进行适当的处理。

既然是实战,我们从头开始说。

二、 准备工作

从哪里开始说呢,从在网络开放平台创建一个应用说起。创建应用之后(下面的开发环境是php,所以在选择应用使用类型的时候填写HTML),会有应用的ID,key,secret。后两个参数接下来会有用。

我使用的是短文本相似度API,其他类型的功能与此基本一模一样(不接受抬杠)。先去看开发文档http://ai..com/docs#/NLP-API/top可以看到提供了两种调用方式,这里我们以调用方式一为例-向API服务地址使用POST发送请求,这种方式来实现上述功能。看描述,需要一个参数叫做access_token,原文也提供了其获取方式。以获取短文本相似度的access_token为例子:

https://aip.bce.com/oauth/2.0/token?grant_type=client_credentials&client_id=MzRN******Txgske3QRf5Yj69&client_secret=a30CAbc*****bDuuGLdHLeyRaZk1tq5&

其中一共涉及三个参数,第一个固定为client_credentials不要改变。

第二第三个分别为前面获取到的key,secret。

把这一串地址放在地址栏中,回车即可返回json格式的字符串,找到access_token复制存在一个文件中,留着备用。

注意:复制地址的时候,中间可能会带有空格,一定要删去。特别是复制开发文档中的那段代码的时候,带有空格,是得不到返回结果的。可以复制我的这一段地址则没有问题。

三、 动手

下面开始编写PHP代码。整个过程我们只需一个文件就好。

PHP可以使用curl来请求url参数。在开发文档中,说明了要传参access_token以及要把请求文本以json格式传过去(编码是GBK)。下面是代码:

$access_token = "24..2592000.1507883636.282335-10044457";

$url = "https://aip.bce.com/rpc/2.0/nlp/v2/simnet?access_token=" . $access_token;

$body=array(

"text_1"=>"我在二舍B门口看到一床被子,应该是哪位同学忘记收走了,记得来取哦。",

"text_2"=>"信息A门口有一辆自行车,黄色的,没上锁,请失主前去认领。"

);

$json_data=json_encode($body);

这段代码及时实现了上述功能。在把$body转为json格式的时候,已经默认把中文从UTF8转到GBK了,无需另外的操作。

$curl=curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_POST, true);

curl_setopt($curl, CURLOPT_POSTFIELDS, $dataArray[$i]);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//取消SSL鉴权验证

最后这个取消SSL鉴权验证是必须的,否则会报错!

$result = curl_exec($ch);

//var_mp($result);

$json = iconv("gb2312", "UTF-8", $result);//返回格式是中文GBK编码,需要转为UTF8

输出$json则可以看到返回结果。

但是上述过程仅仅实现了一条记录的相似度匹配,怎么实现多条呢?使用循环???NO!NO!NO!自己去测试一下如果同时10条url请求,会发生什么事情。好吧答案是:结果正确返回。。但是返回时间非常慢,因为10条请求是顺序执行的,不会并行。所以下面的问题就是要解决并行问题。

四、 解决并行问题以及QPS并发问题

说一个大家都知道的不好的消息,就是PHP本身是不支持多线程的。有木有想死的感觉??

再说一个好消息,curl是可以并行处理多个url请求来模拟多线程的,这点非常好,啪啪!30条url请求同时发送,最终时间取决于最慢的那个请求。但是这个结果也非常棒了好不好。

下面是先是代码(我做了20条数据(文字内容都是一样的,其实一不一样无所谓)):

<?php

header('content-type:text/html;charset=utf8');

$localtime=date('y-m-d H:i:s',time());

echo "开始时间:".$localtime;

$access_token = "24.a810b4be2b5*******************507883636.282335-10044457";

$url = "https://aip.bce.com/rpc/2.0/nlp/v2/simnet?access_token=" . $access_token;

$body=array(

"text_1"=>"我在二舍B门口看到一床被子,应该是哪位同学忘记收走了,记得来取哦。",

"text_2"=>"信息A门口有一辆自行车,黄色的,没上锁,请失主前去认领。"

);

$json_data=json_encode($body);

$dataArray=array();

for($i=0;$i<160;$i++){

array_push($dataArray,$json_data);

}

$jsonResultArray=array();

mFunction($url,$dataArray,$jsonResultArray);

/*$jsonResultArray=func($url,$json_data);//存储返回的json数组*/

function mFunction($url,$dataArray,&$jsonResultArray){

$multicurl=curl_multi_init();

$curls=array();//存放所有的ch对象

for($i=0;$i<count($dataArray);$i++){

$curl=curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_POST, true);

curl_setopt($curl, CURLOPT_POSTFIELDS, $dataArray[$i]);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//取消SSL鉴权验证

curl_multi_add_handle($multicurl,$curl);

array_push($curls,$curl);

}

/* $running = null;

do {

$mrc = curl_multi_exec($multicurl, $running);

} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($running && $mrc == CURLM_OK) {

if (curl_multi_select($multicurl) != -1) {//$mh批处理中还有可执行的$ch句柄,curl_multi_select($mh) != -1程序退出阻塞状态。

do { //继续执行需要处理的$ch句柄。

$mrc = curl_multi_exec($multicurl, $running);

} while ($mrc == CURLM_CALL_MULTI_PERFORM);

}

}*/

$running = null;

// 执行批处理句柄

do {

usleep(10000);

curl_multi_exec($multicurl, $running);

} while ($running > 0);

$failArray=array();

for($i=0;$i<count($dataArray);$i++){

$temp=iconv("gb2312", "UTF-8", curl_multi_getcontent($curls[$i]));//得到的是返回结果的json格式字符串

$resultarray=json_decode($temp);//得到一个数组

if(array_key_exists("error_msg",$resultarray)){//出错则重新发送请求,最后得到的结果要赋值给temp

array_push($failArray,$dataArray[$i]);

curl_multi_remove_handle($multicurl, $curls[$i]);

}else{

array_push($jsonResultArray,$temp);

curl_multi_remove_handle($multicurl, $curls[$i]);

}

}

if($failArray!=null){//如果$failArray数组不为空,继续调用func()

curl_multi_close($multicurl);

mFunction($url,$failArray,$jsonResultArray);//$url,$json_data,&$jsonResultArray

}else{//如果$failArray数组为空,return 即可退出函数。

curl_multi_close($multicurl);

return;

}

}

for($i=0;$i<count($jsonResultArray);$i++){

var_mp($jsonResultArray[$i]);

}

$localtime=date('y-m-d H:i:s',time());

echo "结束时间:".$localtime;

上面这段代码,没错就是全部代码都贴出来了,注释也可以看。代码中一道都把并发带来的问题都解决了。

curl_multi_init(); 的用法不多说,上网查到处都是,可以去菜鸟教程看。下面说一说处理QPS的问题。

因为并行提交速度太快,服务器容易达到QPS限制,就会返回错误代码:

'{"error_msg":"Open api qps request limit reached","error_code":18}' (length=66)
没什么好的解决方式,要想免费使用,我的方案是,对返回结果检测是否存在error_msg只要存在,就得重新发送请求。返回结果正常呢,就把返回结果现存人数组中。在处理重新发送请求部分,使用了函数迭代,直到没有错误信息才结束调用。最终所有的正确结果都存在数组中了。

五、 测试结果

经测试:

测试数据条目以及对应的响应时间,从结果来看,还是可以接受的。

/*

* 20条=>1s

*

*40条=>3s

*

* 80条=>7s

*

* 160条=>16s

* */

文章是昨晚上熬夜写的,没想到学校突然断网断电,断电不可怕,重要的是电没了,手机移动网络也跟着消失……消失……失……

Ⅲ 21tops算力相当于什么显卡

英伟达的一个Jetson Xavier NX就是21tops算力。
11月7日,英伟达宣布推出全球尺寸最小的边缘AI超级计算机Jetson Xavier NX,主要面向机器人和边缘嵌入式计算设备。这款新品拥有比信用卡还小的外形,节能型Jetson Xavier NX模块在运行AI工作负载时,可提供最高21 TOPS的服务器级性能,售价399美元,即将在2020年3月开始出货。英伟达推出更具竞争力的边缘AI芯片产品,让AI初创公司们面临更大的竞争压力。

英伟达边缘AI芯片已经有四个系列
今天发布的Jetson Xavier NX最大的亮点在于,与Jetson Nano尺寸相同(70X45mm)的情况下,能够在功耗10W的模式下提供最高14TOPS,在功耗15W模式下最高21 TOPS的性能。另外,Jetson Xavier NX能够并行运行多个神经网络,也能同时处理来自多个高分辨率传感器的数据。
Jetson Xavier NX模块具体的规格如下:
GPU:配备384个 NVIDIA CUDA core和48 个Tensor core的 NVIDIA Volta,外加2个NVDLA
CPU:6-core Carmel Arm 64位CPU, 6MB L2 + 4MB L3
视频:2x 4K30 编码和2x 4K60解码
摄像头:最多6个 CSI摄像头(通过虚拟通道最多36个),12路(3x4或6x2) MIPI CSI-2
内存:8GB 128位LPDDR4x;51.2GB/秒
连接:千兆以太网
OS支持:基于Ubuntu的 Linux
模块尺寸:70x45mm
Jetson Xavier NX面向的是对性能需求高,但受到尺寸、重量、功耗以及预算限制的嵌入式边缘计算设备,比如小型商用机器人、无人机、智能高分辨率传感器(用于工厂物流和生产线)、光学检测、网络录像机,便携式医疗设备以及其他工业物联网(IoT)系统。
为了满足这些场景,除了硬件外,软件支持也非常重要。英伟达表示,对于已经开始打造嵌入式计算机的公司,Jetson Xavier NX与所有Jetson系列产品一样都可以在相同的CUDA-X AI软件架构上运行。同时,作为NVIDIA软件架构方法的一部分,Jetson Xavier NX由NVIDIA JetPack SDK提供支持。
NVIDIA JetPack SDK是一个完整的AI软件堆栈,可以运行复杂的AI网络,并用于深度学习的加速库以及计算机视觉、计算机图形、多媒体等。

Jetson Xavier NX的上一款产品是在今年3月的GTC发布,英伟达创始人兼 CEO 黄仁勋宣布推出售价仅99美元的Jetson Nano。根据官方的说法,借助CUDA-X,Jetson Nano可以提供472 GFLOPS的AI性能,功率低至5W。这款售价不高,能够运行所有AI模型的边缘计算平台发布后获得了极大的关注。
Jetson Nano的上一款产品在去年发布。去年九月的日本GTC,黄仁勋公布了AGX阵容,包括Drive Xavier和新推出的Drive Pegasus,还有Jetson AGX Xavier。Jetson AGX Xavier的大规模计算性能可以处理机器人至关重要的测距、定位、测绘、视觉和感知以及路径规划。
Jetson家族更早的产品Jetson TX2在2017年推出,提供两种运行模态:一种是MAX Q,这种模态下能效比能达到最高,是TX1的2倍,功耗在7.5W以下;另一种是MAX P,性能可以做到最高,能效比同样可以做到前一代的2倍,功耗则在15W以下。

虽然推出的时间不同,但他们都具有一个区别于其他边缘SoC的特点,并行运行多个神经网络。
边缘端实力增强,初创公司面临更大生存压力
英伟达在云端AI芯片市场获益颇丰,其中非常重要的原因就是擅长并行计算的GPU能够在在数据中心的各种模型中训练时体现出性能优势。虽然凭借云端AI芯片成为了众多AI芯片初创公司想要超越的目标,但英伟达也有自己的困扰。首先,为AI优化和设计的高性能GPU价格昂贵,让不少开发者望而却步。

其次,随着AI算法的逐步成熟,云端AI训练芯片市场的增速将会放缓,英伟达想要保持业绩的增长以及在AI市场的领导力,就需要向边缘AI市场拓展,同时,用云端加边缘一体化的解决方案吸引更多客户。
从面向终端和边缘设备的Jetson系列芯片的布局来看,英伟达早已明白自己该怎么做。如今,Jetson系列芯片算力从0.5TFlops到32TOPS,应用覆盖小型嵌入式设备、智能汽车、工业设备等多种应用。今天高性能小尺寸Jetson Xavier NX发布,让Jetson家族能够提供性能和功耗更加多样的边缘芯片,这背后就是为了满足AIoT市场多样化的市场需求。
不过,更应该看到的是,英伟达如今不仅能够提供云端和终端AI芯片硬件,其成功背后还有强大的软件生态的支撑。据雷锋网了解,Jetson系列已经吸引了40万的开发者,拥有了3000用户。

这对于AI芯片的初创公司而言显然不是一个好消息,由于云端AI芯片更加依赖生态,芯片的设计难度也更大,所以大部分AI芯片的初创公司都选择在边缘端市场,并且大都主要提供AI加速器。AI芯片初创公司们希望凭借独特的架构设计以及领先的性能指标的芯片获得市场的认可。
然而,开发者在进行AI算法迁移的时候往往需要使用AI芯片公司提供的编译器等工具,这不仅会增加软件开发者的使用门槛,还可能达不到预期的效果。因此,初创公司的AI芯片大部分都没有得到非常有价值的应用。
这就意味着,AI芯片初创公司们在产品设完成并流片之后,如何找到合适的市场以及模式进行商业化变得非常关键,特别是在资本寒冬以及AI芯片进入落地战的当下。
显然,AI芯片初创公司们面临着更加严峻的生存挑战,一方面,无论是英伟达还是英特尔,他们在云端和边缘端都已经有竞争力很强的产品,在边缘端,凭借软件生态以及渠道的优势,巨头们的芯片更容易获得客户,甚至连擅长软件的Google都推出了面向边缘市场的Google Edge TPU。另一方面,AI芯片初创公司想要推出有竞争力的产品就必须不断迭代和投入,这就需要资金的持续支持,但融资环境以及更加激烈的市场竞争又增加了融资的难度。
正如雷锋网在今年3月份的文章中指出的,AI芯片的战火已经蔓延至边缘端,Jetson Xavier NX的推出不仅是英伟达边缘端AI芯片布局的完善和实力的进一步增强,更是边缘端芯片市场竞争更加激烈的标志。
AI芯片市场更加激烈的竞争有助于推动AI的向前发展,但对于实力较弱的AI芯片初创公司而言,随着芯片巨头们更有竞争力产品的推出,以及像英伟达这样的公司更愿意称自己为系统公司,而非单纯的芯片公司,这让AI芯片初创公司面临着更加严峻的生存挑战。

Ⅳ 请问一下显卡中的2070、2070s、2070Max-Q,它们都有什么区别,差距在哪里

2070s的处理器运算速度是100,而和2070mxq的处理器运算速度是200,区别在于处理器性能等级不一样

戏中的实时光线追踪技术
光线追踪可提供接近现实体验的光照、反射和阴影等效果,营造的画面逼真度远超过传统渲染技术。Turing 正是可实现实时光线追踪的开创性 GPU。

强大的 AI 增强图形技术
人工智能正在推动这一史上最伟大的技术进步,而 Turing 已将其应用于计算机图形领域。搭载 Tensor Core,可提供 AI 计算性能,其可以实时运行强大的 AI 算法,打造难以置信的清晰明快、栩栩如生的画面和特效。

先进的着色技术
编程着色器定义了现代显卡。Turing GPU 采用先进的着色技术,具有强大的功能和灵活高效的特性。结合超高速 GDDR6 显存,能让您在更高设置下,以更高帧率畅享极速游戏体验。

澎湃动力 锋芒尽显
全新 NVIDIA GeForce RTX SUPER™ 系列核心更多、时钟频率更高,其性能较 RTX 20 系列提升最高可达 25%,与上一代 10 系列 GPU 相比,性能最高可达 6 倍1。革新装备正当其时,澎湃动力锋芒尽显。

革新设计
原厂超频的 GeForce RTX 2070 Founders Edition 采用新一代 6 相供电技术,可确保提供更大的超频空间;而新款均热板及双轴 13 叶风扇则能令显卡运行得更加“冷静”和安静。

NVIDIA® GeForce® RTX 2070 SUPER™ 采用了屡获殊荣的 NVIDIA Turing™ 架构,拥有核心更多、时钟速度更快的超快速 GPU,助您在工作中充分激发创造力,在游戏中所向披靡。革新装备正当其时,澎湃动力锋芒尽显。

NVIDIA TURING
NVIDIA Turing 是非常先进的 GPU 架构,集新一代着色器、实时光线追踪技术和 AI 增强图形特性于一身,其性能最高可达上一代 Pascal GPU 的 6 倍之多1,可以说创造了邻代提升的新记录!

最高可达6 倍性能提升1
实时光线追踪技术引入游戏
强大的AI 增强图形技术

Ⅳ 算法做象棋还是很笨而且很卡,有没有好的AI算法效率

电脑在运行游戏时是否卡顿与CPU、显卡、内存的硬件性能与设置息息相关。
假设当前电脑运行时灰尘较多、散热不好导致机箱内温度升高,当温度高到一定程度时CPU就会自动降频来达到物理散热的目的,此时如果正在运行游戏就会感到明显的卡顿,因为电脑硬件性能下降了。
若想更换零件升级电脑,首选更换CPU、显卡、内存,如果不想换件,可在游戏内调低显示效果,关闭特效、阴影、垂直同步和抗锯齿,卡顿等异常现象会有明显改善。

Ⅵ RTX系列显卡的AI运算有什么用

在Tensor Core上利用近似算法加速某些过去处理起来成本比较高的东西。比如提高清晰度,比如让光线追踪的结果能看。

Ⅶ 笔记本电脑显卡1650可以做ai计算吗

笔记本电脑GTX1650 4G独立显卡是可以用来做Ai计算的,不过这个显卡运算能力一般,毕竟是玩游戏的独立显卡,所以做Ai效果不是很好但是用是没问题的,

热点内容
凯叔讲故事为什么联系不到服务器 发布:2025-01-21 13:56:50 浏览:386
linux镜像文件下载 发布:2025-01-21 13:34:36 浏览:217
百度云破解解压 发布:2025-01-21 13:33:50 浏览:896
冰箱压缩机拆卸视频 发布:2025-01-21 13:33:50 浏览:963
压缩空气体积 发布:2025-01-21 13:27:21 浏览:472
百度地图存储位置 发布:2025-01-21 13:26:28 浏览:90
搬砖脚本怎么写 发布:2025-01-21 13:19:06 浏览:716
感动人物拍摄脚本 发布:2025-01-21 13:09:12 浏览:681
插件编程用 发布:2025-01-21 13:04:07 浏览:217
jd源码 发布:2025-01-21 12:58:19 浏览:644