我们生活在一个越来越智能的世界。从自动驾驶汽车到智能商店,人工智能正在被开发用于玩电子游戏、识别皮肤癌和创造艺术!举一个相关的例子,不久前,佳士得拍卖行以 432,500 美元的价格售出了一件人工智能生成的艺术品!
在一个拥有 AI 艺术家的世界中,我们需要一种方法来向 AI 请求新的艺术作品,以及一种将其展示给人类观看的方法。这就是 IOTA Canvas 和 AI Marketplace 的目的。
IOTA画布
IOTA Canvas 是一种智能相框,它会定期自动刷新其展示的艺术作品,以便观众时不时地看到新的艺术作品。IOTA 画布具有以下特点:
人工智能市场
AI Marketplace 是一项管理 AI 内容创建者并处理与 IOTA Canvas 等客户的谈判的服务。它允许人们上传一个 AI 创作者,然后可以响应对新艺术的请求。
AI Marketplace 的目标是使所有类型的 AI 内容创建者能够与内容消费者建立联系。该项目展示了一种与智能相框上显示的 AI 生成艺术的关系。然而,AI Marketplace 最终也可以提供独特的 AI 创作的食谱、歌曲、服装款式和根据每个消费者的口味量身定制的短篇小说。
现在的问题是,消费者如何为他们的内容付费?AI Marketplace 需要为每一个创建的内容向消费者收取费用以抵消其成本。AI Marketplace 必须为其运行的服务器、为 AI 供电所用的电力付费,并且可能需要向开发 AI 的一些人支付额外的附加费。这就是 IOTA 的用武之地。
关注IOTA
IOTA 是一种加密货币,旨在服务于物联网网络,它允许机器之间和人类之间进行无需信任的次级支付。它非常适合 IOTA Canvas 和 AI Marketplace,因为它使 IOTA Canvas 能够在没有任何人工参与的情况下为 AI 生成的艺术作品向 AI Marketplace 付款。有关 IOTA 的更多信息,请参阅IOTA 网站。
一旦按照下一节中的说明构建了 IOTA Canvas,使用 IOTA Canvas 就很简单了。当相框首次启动时,它会显示一个网站地址,您可以在手机上导航到该地址,用 IOTA 为它的钱包充值,这样它就可以支付新艺术品的费用。从IOTA devnet 水龙头获取测试令牌进行试验。
此外,设置网站允许您查看 IOTA 余额并调整许多其他设置,例如它连接到哪个市场、艺术品更改的频率、按钮的 GPIO 引脚以及显示器何时关闭。
随着时间的推移,相框将展示来自不同 AI 艺术家的各种艺术作品。如果看到不喜欢的,请按跳过按钮。如果要更改设置,请按设置按钮,这将显示设置网站的地址。
IOTA Canvas 包含三个主要部分,每个部分由不同的线程运行。显示器,负责更新屏幕上的图像和文本,打开和关闭屏幕,必要时调整图像大小;管理更新设置和与用户通信的设置网络服务器;以及处理几乎所有其他事情的主线程,对按钮按下作出反应,检查是否是时候刷新艺术品,根据设置告诉显示器打开或关闭等。
另一个线程处理艺术品的实际刷新。为此选择了一个额外的线程,因为它是一项长时间运行的任务。刷新图稿的过程包括五个主要步骤:
1. 向 AI Marketplace 索取其所有艺术家的列表。
2. 选择最符合主人喜好和预算的艺术家。
3. 请求 AI Marketplace 委托选定的 AI 创作一件新艺术品。AI Marketplace 将回复一个 IOTA 地址和一个密钥。
4. 将请求的金额支付到给定的 IOTA 地址。
5. 每 30 秒反复检查 AI Marketplace 是否已准备好委托作品。
6. 作品准备好后,下载并展示。
将 IOTA Canvas 放在一起非常简单。首先将 Raspberry Pi 连接到您的显示器并测试它是否正常工作。将电线焊接到按钮上并将它们连接起来,如所附接线示意图所示。确保电线足够长,可以将按钮放在您想要的位置,通常最好放在框架的边缘。从显示器上取下外壳并将其放在漂亮的框架内(见封面照片)。
处理完硬件后,下一步就是让软件运行起来。IOTA Canvas 软件仅在 Python 3.6、3.7 上运行,因此首先检查您的 Pi 运行的是哪个版本的 Python,如有必要,安装上述版本之一。该软件还使用 pipenv 来管理依赖项及其虚拟环境,这是Python Software Foundation 推荐的。如果您还没有 pipenv,请安装它:
$ pip install pipenv
接下来,通过将 IOTA Canvas 软件克隆到 /usr/bin 并安装其依赖项来下载它。注意:如果您不将项目放在 /usr/bin 中,则需要编辑 iotacanvas.service 文件中的 WorkingDirectory。
$ cd /usr/bin$ git clone https://gitlab.com/iota-lab/iota-canvas.git
$ cd iota-canvas$ pipenv install -e iotacanvas
通过运行主文件检查一切是否正常:
$ pipenv run python iotacanvas/main.py
这将初始化应用程序,生成 IOTA 种子,并将所有内容保存到settings.conf文件中,该文件可用于稍后加载设置。您可以按退出键退出应用程序。
现在 IOTA Canvas 已经设置好并开始工作了,我们想让它在 Raspberry Pi 启动时自动启动。我们可以使用 systemd 来做到这一点,它是 Linux 的服务管理器。systemd 服务文件已经在 iota-canvas 存储库中创建。运行以下命令以安装该服务并在启动时启动它:
$ sudo cp iotacanvas.service /etc/systemd/system/iotacanvas.service
$ sudo chmod 644 /etc/systemd/system/iotacanvas.service
$ sudo systemctl enable iotacanvas
重新启动 Pi 并检查一切是否按预期工作。
初始化后,IOTA Canvas 生成并存储一个种子(一个由 81 个字母 + 数字“9”组成的独特字符串)。
更多关于 GAN 的资源:
AI Marketplace 包含两个不同的界面。第一个包括一个供人类用户上传和管理他们的 AI 的门户网站。这允许人们指定 AI 的名称、其代码作为压缩文件夹,以及可选的附加费,该附加费将添加到 AI Marketplace 对每件委托艺术品收取的费用中。如果 AI 所有者不想再为其提供服务,他们也可以删除 AI。
另一个接口用于 IOTA Canvas 等机器与市场进行通信并请求和支付服务。它公开了一个 API,允许联网设备请求 Marketplace 维护的 AI 艺术家列表、委托新艺术品并下载艺术品。
AI Marketplace 的一般功能流程遵循以下一般步骤:
1. 一个人上传一个新的 AI 作为 zip 文件,其中包含运行 AI 所需的所有文件,并指定他们希望为每件委托艺术品收取的附加费。
2. 设备请求一件新的艺术品,因此 AI Marketplace 生成一个新的 IOTA 地址并将其与密钥一起发送到请求设备。请求的付款基于 AI 附加费和 AI 运行时间,这将与用于为 AI 供电的资源量成正比。下面是 AI Marketplace 对新艺术请求的响应示例。“status_addr”是付款发生后可用于检查艺术生成状态的地址。“retrieve_addr”是作品创建后可用于下载作品的地址(参见第 5 步)。
{
"iota_addr": "J9ELTXQMVQTZUCVHJNKLXUUKQDRSMENJYLCRVIAJCYSIBRBP9HTLKHAMO9SRTFVZYRNSNIKLMOFJWVRYZ",
"job_id": 58,
"key": "81244f70c40443c4aaf47b3db2aa2810",
"retrieve_addr": "/58/retrieve-art",
"status_addr": "/58/status"
}
3. AI Marketplace通过反复检查地址余额来查看IOTA地址是否等于所需付款,最多监控IOTA地址十分钟。
4. 一旦收到所需的付款,AI Marketplace 通过调用标准化的 run() 函数在沙箱中启动请求的 AI,该函数将存储生成的艺术品的位置作为输入。
5. 当委托艺术品的设备请求下载新艺术品并提供正确的密钥时,AI Marketplace 提供相应的文件。
我为 AI Marketplace 创建的概念验证完成了上述大部分工作,但并未在沙盒中运行 AI。它处理 IOTA 地址生成和余额检查类似于 IOTA Canvas。有关如何运行该软件的信息,请参阅 AI Marketplace 存储库。
这是一个开始学习 IOTA 的好项目,因为它很有趣。在大多数情况下,使用 IOTA 实际上非常容易。IOTA 基金会和社区提供的 API 使生成 IOTA 地址、检查余额和发送 IOTA 变得简单。实际上,与配置 IOTA 相比,我花在解决跨线程通信问题上的时间更多。
总体而言,这是一个有趣且有益的项目。查看存储库并为自己构建它!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !