上云无忧 > 文档中心 > 百度智能云飞桨EasyDL零门槛AI开发平台桌面版 - Windows集成文档
飞桨EasyDL零门槛AI开发平台
百度智能云飞桨EasyDL零门槛AI开发平台桌面版 - Windows集成文档

文档简介:
本文档介绍Windows CPU SDK的使用方法。 网络类型支持:图像分类,物体检测。 硬件支持: Intel CPU * x86_64。 操作系统支持: 64位 Windows 7 及以上。 环境依赖(必须安装以下版本): .NET Framework 4.5。 Visual C++ Redistributable Packages for Visual Studio 2013。 Visual C++ Redistributable Packages for Visual Studio 2015。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

简介

本文档介绍Windows CPU SDK的使用方法。

  • 网络类型支持:图像分类,物体检测
  • 硬件支持:

    • Intel CPU * x86_64
  • 操作系统支持

    • 64位 Windows 7 及以上
  • 环境依赖(必须安装以下版本)

    • .NET Framework 4.5
    • Visual C++ Redistributable Packages for Visual Studio 2013
    • Visual C++ Redistributable Packages for Visual Studio 2015
  • 协议

    • HTTP

Release Notes

时间 版本 说明
2021.8.23 1.0.0 第一版!

快速开始

1. 安装依赖

安装.NET Framework4.5

https://www.microsoft.com/zh-CN/download/details.aspx?id=42642

Visual C++ Redistributable Packages for Visual Studio 2013

https://www.microsoft.com/zh-cn/download/details.aspx?id=40784

Visual C++ Redistributable Packages for Visual Studio 2015

https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

注意事项

  1. 安装目录不能包含中文
  2. Windows Server 请自行开启,选择“我的电脑”——“属性”——“管理”——”添加角色和功能“——勾选”桌面体验“,点击安装,安装之后重启即可。

2. 运行离线SDK

解压下载好的SDK,打开EasyEdge.exe。

点击"启动服务",等待数秒即可启动成功,本地服务默认运行在

http://127.0.0.1:24401/

其他任何语言只需通过HTTP调用即可。

Demo示例(以图像服务为例)

服务运行成功,此时可直接在浏览器中输入http://127.0.0.1:24401,在h5中测试模型效果。

使用说明

图像服务调用说明

Python 使用示例代码如下

import requests with open('./1.jpg', 'rb') as f: img = f.read() ## params 为GET参数 data 为POST
 Body result = requests.post('http://127.0.0.1:24401/', params={'threshold': 0.1}, data=img).json()

C# 使用示例代码如下

FileStream fs = new FileStream("./img.jpg", FileMode.Open); BinaryReader br = new BinaryReader(fs); 
byte[] img = br.ReadBytes((int)fs.Length); br.Close(); fs.Close(); string url = "http://127.
0.0.1:8402?threshold=0.1"; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
 request.Method = "POST"; Stream stream = request.GetRequestStream(); stream.Write(img, 0,
 img.Length); stream.Close(); WebResponse response = request.GetResponse(); StreamReader
 sr = new StreamReader(response.GetResponseStream()); Console.WriteLine(sr.ReadToEnd());
 sr.Close(); response.Close();

C++ 使用示例代码如下,需要安装curl

#include <sys/stat.h> #include <curl/curl.h> #include <iostream> #include <string> #define S_ISREG(m) 
(((m) & 0170000) == (0100000))  #define S_ISDIR(m) (((m) & 0170000) == (0040000))  
size_t write_callback(void *ptr, size_t size, size_t num, void *data) { std::string *str =
 dynamic_cast<std::string *>((std::string *)data); str->append((char *)ptr, size*num); 
return size*num; } int main(int argc, char *argv[]) { const char *post_data_filename = 
"./img.jpg"; FILE *fp = NULL; std::string response; struct stat stbuf = { 0, };
 fp = fopen(post_data_filename, "rb"); if (!fp) { fprintf(stderr, "Error: failed to open file 
\"%s\"\n", post_data_filename); return -1; } if (fstat(fileno(fp), &stbuf) || 
!S_ISREG(stbuf.st_mode)) { fprintf(stderr, "Error: unknown file size \"%s\"\n",
 post_data_filename); return -1; } CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); 
curl = curl_easy_init(); if (curl != NULL) { curl_easy_setopt(curl, CURLOPT_URL, "http:
//127.0.0.1:24401?threshold=0.1"); curl_easy_setopt(curl, CURLOPT_POST, 1L);
 curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE,(curl_off_t)stbuf.st_size); 
curl_easy_setopt(curl, CURLOPT_READDATA, (void *)fp); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, 
write_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); res = curl_easy_perform(curl);
 if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
 } std::cout << response << std::endl; // response即为返回的json数据 curl_easy_cleanup(curl); }
 curl_global_cleanup(); fclose(fp); return 0; }

结果

获取的结果存储在response字符串中。

请求参数

字段 类型 取值 说明
threshold float 0 ~ 1 置信度阈值

HTTP POST Body直接发送图片二进制。

返回参数

字段 类型 取值 说明
confidence float 0~1 分类或检测的置信度
label string 分类或检测的类别
index number 分类或检测的类别
x1, y1 float 0~1 物体检测,矩形的左上角坐标 (相对长宽的比例值)
x2, y2 float 0~1 物体检测,矩形的右下角坐标(相对长宽的比例值)

关于矩形坐标

x1 * 图片宽度 = 检测框的左上角的横坐标

y1 * 图片高度 = 检测框的左上角的纵坐标

x2 * 图片宽度 = 检测框的右下角的横坐标

y2 * 图片高度 = 检测框的右下角的纵坐标

FAQ

1. 服务启动失败,怎么处理?

请确保相关依赖都安装正确,版本必须如下: .NET Framework 4.5 Visual C++ Redistributable Packages for Visual Studio 2013 * Visual C++ Redistributable Packages for Visual Studio 2015

2. 服务调用时返回为空,怎么处理?

调用输入的图片必须是RGB格式,请确认是否有alpha通道。

3. 多个模型怎么同时使用?

SDK设置运行不同的端口,点击运行即可。

4. JAVA、C#等其他语言怎么调用SDK?

参考 https://ai.baidu.com/forum/topic/show/943765

5. 启动失败,报错NotDecrypted?

Windows下使用,当前用户名不能为中文,否则无法正确加载模型。

6. 启动失败,报错 SerialNum无效

日志显示failed to get/check device id(xxx)或者Device fingerprint mismatch(xxx) 此类情况一般是设备指纹发生了变更,包括(但不局限于)以下可能的情况:

  • mac 地址变化
  • 磁盘变更
  • bios重刷

以及系统相关信息。

遇到这类情况,请确保硬件无变更,如果想更换序列号,请先删除 C:\Users\${用户名}\.baidu\easyedge 目录,再重新激活。

7. 其他问题

如果无法解决,可到论坛发帖: https://ai.baidu.com/forum/topic/list/199 描述使用遇到的问题,我们将及时回复您的问题。

相似文档
  • 本文档主要说明定制化模型发布后获得的SDK如何使用,如有疑问可以通过以下方式联系我们: 在百度智能云控制台内提交工单。 前往官方论坛交流,与其他开发者进行互动。 SDK说明: SDK支持iOS、Android、Linux、Windows四种操作系统。以下为具体的系统、硬件环境支持:
  • Q:如果使用GPU环境进行训练? A:如果您的计算机有NVIDIA® GPU,且需要使用GPU环境进行训练,请确保满足以下条件: Windows 7/8/10/11: 需安装 CUDA 11.2 与 cuDNN v8.2.1。 Ubuntu 16.04/18.4/20.4: 需 CUDA 11.2 与 cuDNN v8.1.1。 CentOS 7: 需 CUDA 11.2 与 cuDNN v8.1.1。
  • 本文将会引导您将定制化模型售卖至AI市场中,具体的介绍与操作流程,您可以详细查看如下流程。 售卖市场介绍。 模型售卖的准备工作。 模型售卖的具体流程。 售卖市场介绍 : 您在EasyDL定制化训练出的模型可以在百度AI市场(aim.baidu.com ) 进行售卖。
  • 本文将会引导您将定制化API服务售卖至AI市场中,从而快速获得品牌曝光,并获得丰厚收入。接下来,您将了解如下内容: 售卖市场介绍。 API服务售卖的准备工作。 API服务售卖的具体流程。 售卖市场介绍: 您在EasyDL定制化训练出的模型可以在百度AI市场(aim.baidu.com) 进行售卖。
  • 2022年01月: 序号 功能模块 功能描述。 1 模型服务 EasyDL图像分类&物体检测支持批量预测。 2021年10月: 序号 功能模块 功能描述。 1 模型训练 EasyDL图像分类支持免训练迭代模式。 2 模型训练 EasyDL物体检测支持自定义四边形标注和训练。 3 数据训练 EasyDL物体检测精度提升配置包模型更新。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部