Project Icon

netsaur

Deno生态系统中的轻量级高效神经网络库

Netsaur是Deno生态系统中的一款轻量级高效神经网络库。它提供简洁API用于创建和训练神经网络,支持CPU运行,GPU支持正在开发中。Netsaur无需额外依赖,适用于serverless环境,可快速构建和部署多种机器学习模型。这个库适合各层级的机器学习实践者使用,从入门到专业均可上手。


Netsaur


netsaur 星标数 netsaur 发布版本

netsaur 许可证


## Deno 强大的机器学习库

特性

  • Deno 设计的轻量级易用神经网络库。
  • 速度极快且高效。
  • 提供简单的 API 用于创建和训练神经网络。
  • 可在 CPU 和 GPU 上运行(开发中)。
  • 无需下载任何依赖即可直接运行代码。
  • 非常适合无服务器环境。
  • 只需几行代码即可快速构建和部署各种应用的机器学习模型。
  • 适合初学者和有经验的机器学习从业者。

后端

  • CPU - 用 Rust 编写的原生后端。
  • WASM - 用 Rust 编写的 WebAssembly 后端。
  • GPU (待开发)

示例

维护者

快速入门

这个例子展示了如何训练一个神经网络来预测 XOR 函数的输出,使用我们用 Rust 编写的高速 CPU 后端。

import {
  Cost,
  CPU,
  DenseLayer,
  Sequential,
  setupBackend,
  SigmoidLayer,
  tensor1D,
  tensor2D,
} from "https://deno.land/x/netsaur/mod.ts";

/**
 * 设置 CPU 后端。这个后端速度快,但不能在 Edge 环境运行。
 */
await setupBackend(CPU);

/**
 * 创建一个顺序神经网络。
 */
const net = new Sequential({
  /**
   * 小批量数设置为 4,输出大小设置为 2。
   */
  size: [4, 2],

  /**
   * silent 选项设置为 true,意味着网络在训练过程中不会输出任何日志。
   */
  silent: true,

  /**
   * 定义 XOR 函数示例中神经网络的层。
   * 该神经网络有两个输入神经元和一个输出神经元。
   * 层的定义如下:
   * - 具有 3 个神经元的密集层。
   * - sigmoid 激活层。
   * - 具有 1 个神经元的密集层。
   * - sigmoid 激活层。
   */
  layers: [
    DenseLayer({ size: [3] }),
    SigmoidLayer(),
    DenseLayer({ size: [1] }),
    SigmoidLayer(),
  ],

  /**
   * 用于训练网络的成本函数是均方误差 (MSE)。
   */
  cost: Cost.MSE,
});

const time = performance.now();

/**
 * 在给定数据上训练网络。
 */
net.train(
  [
    {
      inputs: tensor2D([
        [0, 0],
        [1, 0],
        [0, 1],
        [1, 1],
      ]),
      outputs: tensor2D([[0], [1], [1], [0]]),
    },
  ],
  /**
   * 迭代次数设置为 10000。
   */
  10000,
);

console.log(`训练时间:${performance.now() - time}ms`);

/**
 * 预测给定输入的 XOR 函数输出。
 */
const out1 = (await net.predict(tensor1D([0, 0]))).data;
console.log(`0 xor 0 = ${out1[0]}(应接近 0)`);

const out2 = (await net.predict(tensor1D([1, 0]))).data;
console.log(`1 xor 0 = ${out2[0]}(应接近 1)`);

const out3 = (await net.predict(tensor1D([0, 1]))).data;
console.log(`0 xor 1 = ${out3[0]}(应接近 1)`);

const out4 = (await net.predict(tensor1D([1, 1]))).data;
console.log(`1 xor 1 = ${out4[0]}(应接近 0)`);

使用 WASM 后端

通过将 CPU 后端改为 WASM 后端,我们牺牲了一些速度,但这使我们能够在边缘环境中运行。

import {
  Cost,
  DenseLayer,
  Sequential,
  setupBackend,
  SigmoidLayer,
  tensor1D,
  tensor2D,
  WASM,
} from "https://deno.land/x/netsaur/mod.ts";

/**
 * 设置 WASM 后端。这个后端比 CPU 后端慢,但可以在 Edge 环境中工作。
 */
await setupBackend(WASM);

/**

  • 创建一个顺序神经网络。 / const net = new Sequential({ /*
    • 小批量数设置为4,输出大小设置为2。 */ size: [4, 2],

/**

  • silent选项设置为true,意味着网络在训练过程中不会输出任何日志。 */ silent: true,

/**

  • 在XOR函数示例中定义神经网络的层。
  • 该神经网络有两个输入神经元和一个输出神经元。
  • 层定义如下:
    • 一个具有3个神经元的密集层。
    • sigmoid激活层。
    • 一个具有1个神经元的密集层。
    • 一个sigmoid激活层。 */ layers: [ DenseLayer({ size: [3] }), SigmoidLayer(), DenseLayer({ size: [1] }), SigmoidLayer(), ],

/**

  • 用于训练网络的成本函数是均方误差(MSE)。 */ cost: Cost.MSE, });

const time = performance.now();

/**

  • 在给定数据上训练网络。 / net.train( [ { inputs: tensor2D([ [0, 0], [1, 0], [0, 1], [1, 1], ]), outputs: tensor2D([[0], [1], [1], [0]]), }, ], /*
    • 迭代次数设置为10000。 */ 10000, );

console.log(训练时间:${performance.now() - time}毫秒);

/**

  • 预测给定输入的XOR函数输出。 */ const out1 = (await net.predict(tensor1D([0, 0]))).data; console.log(0 异或 0 = ${out1[0]}(应接近0));

const out2 = (await net.predict(tensor1D([1, 0]))).data; console.log(1 异或 0 = ${out2[0]}(应接近1));

const out3 = (await net.predict(tensor1D([0, 1]))).data; console.log(0 异或 1 = ${out3[0]}(应接近1));

const out4 = (await net.predict(tensor1D([1, 1]))).data; console.log(1 异或 1 = ${out4[0]}(应接近0));


### 文档

Netsaur的完整文档可以在[这里](https://deno.land/x/netsaur@0.3.1-patch/mod.ts)找到。

### 许可证

Netsaur使用MIT许可证。
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号