开发者活动:用 Rust 写 Serverless 函数

May 09, 2020 • 2 minutes to read

了解如何在 Rust 中创建用于媒体处理、机器学习和 AI 的高性能 serverless 函数。完成这个挑战,即可获得丰厚奖品!终极大奖 最新款的 Mac mini 等你来拿。

#1 用 Rust 写一个 serverless function

首先,请仔细阅读《Getting Started with Function as A Service in Rust》来设置开发环境。你可以使用 Docker 镜像 或者 GitHub CodeSpaces 来设置初始开发环境。这两种方法大约只需要5分钟来构建、部署和测试你的第一个serverless Rust 函数。

然后 fork rust-faas-showcases GitHub repo,并在 contributions / your-name 目录中创建自己的Rust函数。 你可以参考examples 目录中的示例以了解构建结构和构建说明。最终你需要在 Second State FaaS 上将其构建并部署为公共的 serverless 函数,并提交 PR 给我们。

我们欢迎原创作品,下面是一些建议和启发,欢迎更好的意见与建议。

  • 将短信/彩信/消息发送到您所在国家/地区的电话;
  • 发送 iOS 或 Android 通知消息;
  • 处理上传的图像;
  • 处理上载的音频或视频文件;
  • 处理付款;
  • 将图像转换为文本;
  • 检测图像中的文字或徽标或对象;

当你完成后,不要忘记填写这个表格,你将获得一份 Second State 的周边大礼包。

#2 用 Rust 写 AI as a service 云函数

阅读《AI as a Service: Image Classification Using MobileNet》教程,了解如何使用 SSVM 的 Tensorflow 扩展来创建用于图像识别的TensorFlow推理函数。此外,也可以查看人脸识别的教程,以获取有关如何在图像处理函数中使用 TensorFlow 模型的更多示例。

在这个挑战里,你需要训练自己的 TensorFlow Model,创建 Rust 函数,将其部署到 Second State FaaS 来处理用户的请求。同时也要写一个 static web UI 来展现这个云函数的函数。

提交 PR 并将函数源代码以及冻结的模型和标签文件添加到 rust-faas-showcases github repo 中的 contributions/your-name 目录。

当你完成后,不要忘了填写这个表格,你将获得一个 Keychron K2 无线机械键盘。

资源:关于如何训练自己的计算机视觉模型的在线教程很多。一旦你的模型训练好,请按照本教程进行冻结。 Rust 函数将调用冻结的模型。

#3 扩展 SSVM

具体内容:将 SSVM 扩展到更多的场景与平台,提交 PR 给 SSVM github repo

  • 将 SSVM、WASI 与 WASI-Tensorflow 在 Windows、Mac、Android 上编译与运行;
  • 支持在 AI 芯片上运行推理的 WASI host functions;
  • 扩展 WASI-Tensorflow 支持 ONNX 模型的推理;

如果你的 PR 被接受,不要忘记填写表格,你将获得最新款 M1 芯片的 Mac mini,

资源

WebAssemblyRustFaaSServerlessserverlessfunction-as-a-serviceai-as-a-service
A high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications