在前端领域,涉及到手写模型生成和自然语言处理的应用都需要良好的生成和识别技术。当前社区中,一种叫做 sketchrnn 的 npm 包变得非常流行,因其方便易用,能够用于生成图案和模拟手写轨迹。
安装
使用 npm 或 yarn 安装最新版本的 sketchrnn:
npm install sketchrnn # 或者 yarn add sketchrnn
使用
首先要准备好训练好的模型文件。这需要以下步骤:
- 从 Google Drive 下载
.gen
文件。 - 将文件解压,并将其中的
.json
文件全部复制到项目中。 - 对于需要的模型,将对应的
.json
文件重新命名为modelname_classname.json
,并将其放到sketchrnn/models
目录下。
有关不同设计类别的详细信息和名称,请参阅 sketchrnn/models/models_data.js
或者 google 对应文档。
然后,可以使用以下代码生成原始 sketchnote 数据:
import * as sketchrnn from 'sketchrnn'; const model = new sketchrnn.Model(); model.initialize('cat'); // 使用指定的模型,此处使用了“cat”分类 const strokes = model.sample(500); // 生成 500 个笔画
示例
下面是一个完整的示例,将笔画显示在 HTML Canvas 上:
-- -------------------- ---- ------- --------- ----- ------ ------ ---------------- --------------- ----- --------------- -- ------- ------ - ------- --- ----- ------ - -------- ------- ------ ------- ----------- ----------- ---------------------- ------- ------------------------- -------- ------ - -- --------- ---- ------------ ----- ------ - ---------------------------------- ----- --- - ------------------------ ----- ----- - --- ------------------ ------------------------ -- -------------------- ----- ------- - ------------------ -- -- --- --- --- - - -- --- - - -- ---------------- ------------------------ -- - ----- ---- --- ---- - ------- -- ---- --- -- - ------------- --- - ------------ - --- - - ---- - -- --- - -- --- --- ------------- --------- ------- -------
上面的代码在 Canvas 上显示了生成的 sketch。可以更改单词 cat
来使用其他模型,从而在笔画生成方面进行不同实验。
深度和指导意义
sketchrnn 是一种很有价值的 npm 包,因为它可以在无监督的情况下从一词汇表中自动学习笔画和轨迹数据,并从中生成新的 sketchnote。这些生成的图案可以用于很多场景。例如,可以将它与基于手写人工智能 (AI) 的功能集成,可以使用它进行创意编程(例如图像生成)等。
总之,sketchrnn 是一种非常有前途的技术,可以通过这个npm 包快速使用。通过这个工具,我们也更能掌握一些基本的手写生成和轨迹生成的原理。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5a51ab1864dac66f5d