下载
实用程序脚本
CodeProject.AI 服务器:人工智能服务器
将 CodeProject.AI 服务器想象成数据库服务器:您安装它,ir 在后台运行,并通过简单的 API 为任何应用程序提供 AI 操作。
CodeProject.AI 服务器作为 Windows 服务或在 Docker 下运行。任何可以进行 HTTP 调用的语言都可以访问该服务,并且服务器不需要外部 Internet 连接。您的数据保留在您的网络中。
什么是新的 - 1.6
- 优化内存使用
- 能够通过仪表板启用/禁用模块和 GPU 支持
- 用于即时更新设置的 REST 设置 API
- Apple M1/M2 GPU 支持
- 某些 Nvidia 卡的解决方法
- 异步进程和日志记录以提高性能
- 突破:CustomObjectDetection 现在是 ObjectDetectionYolo 的一部分
- CPU + 视频演示的性能修复。
- 补丁 1.6.7:解决了潜在的内存泄漏问题
- 补丁 1.6.8:Linux 上的图像处理改进,.NET 上的多线程 ONNX
请参阅我们的CUDA 说明,了解有关设置和限制、nVidia 卡和 CUDA 支持的信息。
如果您正在升级: 当仪表板启动时,可能需要强制重新加载(在 Windows 上为 Ctrl+R)仪表板以确保您查看的是最新版本
为什么我们构建 CodeProject.AI 服务器
-
人工智能编程是每个开发人员都应该知道的事情
我们想要一个有趣的项目,可以用来帮助教授开发人员并让他们参与 AI。我们将使用 CodeProject.AI Server 作为文章和探索的焦点,以使学习 AI 编程变得有趣和轻松
我们希望您的贡献! -
AI 编码示例有太多的活动部分
您需要安装软件包、语言和工具扩展,然后更新和库(但版本 X,而不是版本 Y),然后您必须配置路径和...哦,您想在 Windows 上运行而不是 Linux?在那种情况下,你需要......这太难了。CodeProject 上有很多人大喊大叫。CodeProject.AI Server在单个安装程序中
包含您需要的一切。CodeProject.AI Server 还提供了一个安装脚本,它将设置您的开发环境并让您在几次点击中进行调试。 -
人工智能解决方案通常需要使用云服务
如果您信任云提供商,或者了解计费结构,或者可以确保您不会发送敏感数据或不会超过免费套餐,这很好。如果你家里有一个网络摄像头,或者无法计算出 AWS 会收取多少费用,那么
CodeProject.AI 服务器就不能安装在本地。您的机器,您的网络,没有数据需要离开您的设备。
支持的平台
视窗 | 苹果系统 | macOS-arm64 | Ubuntu | 码头工人 | 视觉工作室 2019+ | 视觉工作室 代码 |
从哪里开始:快速链接
- 在Windows或Docker中下载并安装。在http://localhost:32168启动仪表板 。
- 阅读文档(或至少浏览一下以感受一下)
- 了解如何根据需要 配置模块
- 下载、构建和运行代码
快速介绍
1:运行和玩功能
- 安装并运行
- 对于 Windows 服务, 下载最新版本,安装并启动桌面上服务器仪表板的快捷方式,或打开浏览器访问http://localhost:32168。
如果您希望利用启用了 CUDA 的 nVidia GPU,请确保在安装 CodeProject.AI 之前安装了CUDA 驱动程序
- 对于 64 位 Linux 运行的 Docker 容器
其中 <local directory> 是主机上的某个现有目录,例如<span style="color:#111111"><span style="background-color:#ffffff"><span style="color:#000000"><span style="background-color:#fbedbb">docker run -p 32168:32168 --name CodeProject.AI-Server -d -v <local directory>:/usr/share/CodeProject/AI codeproject/ai-server</span></span></span></span>
- Windows 上的C:\ProgramData\CodeProject/AI
- Linux 上的/usr/share/CodeProject/AI
- 对于 Docker GPU (nVidia CUDA),请使用
<span style="color:#111111"><span style="background-color:#ffffff"><span style="color:#000000"><span style="background-color:#fbedbb">docker run --gpus all -p 32168:32168 --name CodeProject.AI-Server -d -v <local directory>:/usr/share/CodeProject/AI codeproject/ai-server:gpu</span></span></span></span>
- 对于 Windows 服务, 下载最新版本,安装并启动桌面上服务器仪表板的快捷方式,或打开浏览器访问http://localhost:32168。
- 在仪表板上的底部,是演示游乐场的链接。打开它玩!
2:运行和调试代码
- 克隆CodeProject CodeProject.AI 服务器存储库。
- 确保已安装 Visual Studio Code 或 Visual Studio 2019+。
- 在/Installers/Dev中运行安装脚本
- 调试前端服务器应用程序(见下面的注释,但很容易)
3. 在我的应用程序中使用 CodeProject.AI Server
下面是一个使用 API 进行场景检测的示例,使用一个简单的 JavaScript 调用:
<span style="color:#111111"><span style="background-color:#ffffff"><span style="color:#000000"><span style="background-color:#fbedbb"><span style="color:#0000ff"><</span><span style="color:#800000">html</span><span style="color:#0000ff">></span>
<span style="color:#0000ff"><</span><span style="color:#800000">body</span><span style="color:#0000ff">></span>
Detect the scene in this file: <span style="color:#0000ff"><</span><span style="color:#800000">input</span> <span style="color:#ff0000">id</span><span style="color:#0000ff">="</span><span style="color:#0000ff">image"</span> <span style="color:#ff0000">type</span><span style="color:#0000ff">="</span><span style="color:#0000ff">file"</span> <span style="color:#0000ff">/</span><span style="color:#0000ff">></span>
<span style="color:#0000ff"><</span><span style="color:#800000">input</span> <span style="color:#ff0000">type</span><span style="color:#0000ff">="</span><span style="color:#0000ff">button"</span> <span style="color:#ff0000">value</span><span style="color:#0000ff">="</span><span style="color:#0000ff">Detect Scene"</span> <span style="color:#ff0000">onclick</span><span style="color:#0000ff">="</span><span style="color:#0000ff">detectScene(image)"</span> <span style="color:#0000ff">/</span><span style="color:#0000ff">></span>
<span style="color:#0000ff"><</span><span style="color:#800000">script</span><span style="color:#0000ff">></span>
<span style="color:#0000ff">function</span> detectScene(fileChooser) {
<span style="color:#0000ff">var</span> formData = <span style="color:#0000ff">new</span> FormData();
formData.append(<span style="color:#800080">'</span><span style="color:#800080">image'</span>, fileChooser.files[<span style="color:#000080">0</span>]);
fetch(<span style="color:#800080">'</span><span style="color:#800080">http://localhost:5000/v1/vision/detect/scene'</span>, {
method: <span style="color:#800080">"</span><span style="color:#800080">POST"</span>,
body: formData
})
.then(response => {
<span style="color:#0000ff">if</span> (response.ok) response.json().then(<span style="color:#339999">data</span> => {
<span style="color:#339999">console</span>.log(<span style="color:#800080">`</span><span style="color:#800080">Scene is ${data.label}, ${data.confidence} confidence`</span>)
});
});
}
<span style="color:#0000ff"><</span><span style="color:#0000ff">/</span><span style="color:#800000">script</span><span style="color:#0000ff">></span>
<span style="color:#0000ff"><</span><span style="color:#800000">/body</span><span style="color:#0000ff">></span>
<span style="color:#0000ff"><</span><span style="color:#800000">/html</span><span style="color:#0000ff">></span></span></span></span></span>
您可以在自己的应用程序和安装程序中包含 CodeProject.AI Server 安装程序(或只是指向最新版本安装程序的链接),瞧,您就有了一个启用 AI 的应用程序。
有关功能的完整概要,请参阅API 文档
关于 CUDA 和 nVidia 支持的说明
如果您有启用 CUDA 的 nVidia 卡,请确保您
- 安装 CUDA 驱动程序
- 安装 CUDA 工具包 11.7。
- 下载并运行我们的cuDNN 安装脚本 来安装 cuDNN 。
Nvidia 下载和驱动程序具有挑战性!请确保您下载的是与 CUDA 11.7 兼容的驱动程序,这通常意味着 CUDA 驱动程序版本 516.94 或以下。522.x 或更高版本可能无法工作。您可能需要参考每个驱动程序的发行说明以确认
由于我们使用的是 CUDA 11.7(支持计算能力 3.7 及以上)。我们只能支持等于或优于 GK210 或 Tesla K80 卡的 nVidia CUDA 卡。请参阅此支持卡表以确定您的卡是否具有 3.7 或更高的计算能力。
完全支持 GTX 10xx、20xx 和 30xx 系列、RTX、MX 系列等较新的卡。
AI 是一种内存密集型操作。某些具有 2GB 或更少 RAM 的卡在某些情况下可能会遇到困难。使用仪表板,您可以禁用不需要的模块,或者完全禁用一个或多个模块的 GPU 支持。这将释放内存并帮助您重回正轨。
它包括什么?
CodeProject.AI 服务器包括
- HTTP REST API 服务器。服务器监听来自其他应用程序的请求,将它们传递给后端分析服务进行处理,然后将结果传递回调用者。它在您的设备上作为一个简单的自包含 Web 服务运行。
- 后端分析服务。操作的大脑位于前端 API 后面的分析服务中。所有数据处理都在当前机器上完成。没有调用云端,也没有数据离开设备。
- 源代码,自然。
它能做什么?
CodeProject.AI Server 目前可以
- 检测图像中的对象
- 检测图像中的人脸
- 检测图像中表示的场景类型
- 识别已注册服务的人脸
- 对自定义模型执行检测
开发环境还提供模块,可以
- 从图像中删除背景
- 模糊图像的背景
- 提高图像的分辨率
- 提取文本中最重要的句子以生成文本摘要
- 证明对文本的情感分析
我们将不断扩展功能列表。