0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派 也能搞 AI 艺术?树莓派遇上DALL-E,开启你的 AI 艺术创作之旅!

上海晶珩电子科技有限公司 2025-03-25 09:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本教程将向你展示如何使用DALL-E API从你的Raspberry Pi上生成随机的AI艺术。

近年来,人工智能(AI)是一个取得了巨大飞跃的领域,这在很大程度上要归功于OpenAI等团队的努力。

这些新项目的一个巨大优势是,其中许多项目允许你以实惠的价格使用它们的网络来执行各种任务。

由此带来的一个有趣功能是能够根据给定的提示生成艺术。有许多API可以实现这一点,但我们将重点关注的是OpenAI的DALL-E。

你可以在你的Raspberry Pi上使用DALL-E AI,根据你给出的提示生成图像。我们选择使用DALL-E,因为它的API非常简单,而且我们在之前的Raspberry PiChatGPT教程中已经探索过它。

当然,DALL-E不是免费使用的,你可以在其网站上查看其定价。虽然价格不是特别贵,但如果你试图生成大量图像,费用可能会累积起来。

使用DALL-E API的一个优点是,你可以执行通常需要昂贵图形处理器GPU)来生成的AI任务。所有的计算都在他们的云服务器上处理,因此本指南甚至可以在Raspberry Pi Zero W上运行。

从你的Raspberry Pi生成AI图像的一个潜在用例是拥有一个定期更新的动态艺术显示屏。

设备

下面是在我们的Raspberry Pi上使用DALL-E生成AI图像时所使用的设备列表。

推荐设备

Raspberry Pi

Micro SD

电源适配器

以太网线或Wi-Fi

可选设备

Raspberry Pi保护壳

USB鼠标

USB键盘

HDMI线

显示器

以上设备都可以在在树莓派开发者和上海晶珩进行购买,本教程最后一次测试是在运行最新版本的Raspberry Pi OS Bookworm 64位的Raspberry Pi 5上进行的。

获取你的OpenAI API密钥以使用DALL-E

要在你的Raspberry Pi上使用DALL-E AI生成图像,你需要一个OpenAI API密钥。

以下步骤将指导你获取所需的API密钥。

1.在生成OpenAI API密钥之前,你必须注册一个账户。

你可以通过访问平台注册页面免费创建一个账户。如果你已经有了一个账户,你可以跳过这一步并登录。

2.登录账户后,你必须确保点击“API”选项,而不是“ChatGPT”。

976f03b0-0918-11f0-9434-92fbcf53809c.jpg

3.进入API部分后,在侧边栏中点击“API keys”部分。在其折叠状态下,此选项也由挂锁图标表示。

977a2934-0918-11f0-9434-92fbcf53809c.jpg

4.现在你的设备已经打开了“API Keys”屏幕,你必须点击“Create New Secret Key”按钮。

978622b6-0918-11f0-9434-92fbcf53809c.jpg

5.系统将提示你给这个OpenAI密钥命名(1.)。这有助于在界面中更容易地识别该密钥。

设置名称后,点击“Create Secret key”(2.)按钮。

9795835a-0918-11f0-9434-92fbcf53809c.jpg

6.你的Raspberry Pi生成AI图像的一个潜在用例是拥有一个定期更新的动态艺术显示屏。

确保你复制了密钥,因为它将不会再次显示。复制密钥后,你可以继续本指南。

979f6168-0918-11f0-9434-92fbcf53809c.jpg

请记住,OpenAI不是一项免费服务。他们有时会给你一小笔信用额度来试用他们提供的各种AI模型。否则,你必须设置账单以使用该服务。

在你的Raspberry Pi上使用DALL-E生成图像

在本部分中,我们将向你展示如何使用AI DALL-E从你的Raspberry Pi上生成图像。

为了使这项工作能够完成,我们将编写一个使用OpenAI库的简短脚本。这个库允许我们用几行简短的代码轻松请求生成的图像。

准备你的Raspberry Pi

1.在我们可以编写脚本以使用DALL-E从你的Raspberry Pi上生成图像之前,我们必须做一些准备工作。你的第一个任务是运行下面的两个命令来更新包列表和任何过时的包。

sudo apt updatesudo apt upgrade -y

2.升级过程完成后,我们必须安装Python、其虚拟环境模块和名为“pip”的包管理器。你可以通过在终端中使用以下命令来安装这些包。

sudo apt install python3 python3-venv python3-pip

设置Python虚拟环境

3.现在我们已经有了所需的所有包,我们必须为我们的脚本设置一个Python虚拟环境。

这项任务的第一部分是创建一个目录来存储我们的脚本和虚拟环境。使用下面的命令,我们使用mkdir命令在你的主目录中创建一个名为“dalle”的目录。

https://pimylifeup.com/mkdir-command-linux/

mkdir ~/dalle

4.创建目录后,你想使用cd命令切换到它。

https://pimylifeup.com/cd-command/

cd ~/dalle

5.在我们可以安装OpenAI Python库之前,我们必须创建虚拟环境。在编写我们的脚本并安装OpenAI Python库之前,我们必须创建虚拟环境。

python3 -m venv env

6.现在,我们必须使用以下命令告诉终端使用这个虚拟环境。你必须在之前创建的“dalle”目录内运行此命令。在使用你的Raspberry Pi的AI图像生成脚本时,你也必须运行此命令。

source env/bin/activate

安装OpenAI Python库

7.现在我们已经在虚拟环境中,我们可以安装OpenAI Python库。这个库将允许我们轻松地使用DALL-E生成AI图像并将它们保存到我们的Raspberry Pi上。

python3 -m pip install openai

编写脚本以在Raspberry Pi上使用DALL-E生成图像

8.一切准备就绪后,我们可以继续编写一个Python脚本,该脚本将与DALL-E交互并使用其AI生成图像。
由于我们之前安装了库,这个过程相对简单。

nano generate.py

编写Python脚本

9.在这个文件中,你必须输入以下行。这个脚本相当简单,但我们将随着讲解每个代码块。

导入所需库

a.这个脚本的第一行将导入OpenAI库。我们将使用这个库向DALL-E AI发出请求以生成图像,并将其结果保存到Raspberry Pi上。

from openai import OpenAI

b.接下来,我们必须导入“urllib”库。OpenAI以链接的形式发送图像,因此,要将DALL-E生成的AI图像保存到Raspberry Pi上,我们必须使用此库的“urlretrieve”函数。

import urllib.request

设置OpenAI库

c. 我们的下一步是实例化OpenAI库,并将其引用存储在我们名为“client”的变中。我们需要传递给这个函数的唯一内容是你之前生成的密钥。请确保将“SECRETKEY”替换为你的OpenAI API密钥。

client = OpenAI( api_key = 'SECRETKEY')

为DALL-E编写生成提示

d. 接下来,我们将创建一个名为“generation_prompt”的变量,用于存储我们对DALL-E AI的提示。这个提示是AI用于生成图像的内容。在我们的示例中,我们将此变量设置为文本“一只白色的暹罗猫”。

generation_prompt="A white siamese cat"

从你的Raspberry Pi向DALL-E发出API调用

E.一切准备就绪后,我们可以使用OpenAI库生成一个新的图像。这个函数调用有几个不同的参数我们必须指定。

  • model: 在本指南中,我们专注于使用DALL-E 3在我们的Raspberry Pi上生成图像。因此,我们将模型设置为“dall-e-3”。如果你愿意,可以通过将其设置为“dall-e-2”来使用更便宜的旧版本。
  • prompt: 此参数允许你告诉DALL-E你想要生成什么图像、你想要的风格以及其他内容。在我们的示例中,我们传递了之前在脚本中设置的“generation_prompt”变量。
  • size: 这允许你设置图像的大小。我们将其设置为“1024x1024”,因为这两个模型都支持此大小。
  • 对于DALL-E 3,支持以下大小:

1024×1024

1792×1024

1024×1792

对于DALL-E 2,支持以下图像大小:

256×256

512×512

1024×1024

  • quality: 仅对于DALL-E 3,你可以指定是想要“standard”还是“hd”质量。HD图像生成的最终细节质量更好。但是,HD图像生成的成本更高。

  • n: 我们在这里设置的最后一个选项是要为你的提示生成的图像数量。

  • 对于DALL-E 3,此值只能设置为1。如果你想要同一提示的变体,则需要进行多次调用。

  • 对于DALL-E 2,你可以将此值设置为1到10之间的任意值。

response = client.images.generate( model="dall-e-3", prompt=generation_prompt, size="1024x1024", quality="standard", n=1)

处理生成的图像

f. 在收到DALL-E AI图像生成器的响应后,我们将想要从中获取URL并将其存储在我们的“image_url”变量中。我们将使用这个URL在下一个函数调用中下载并保存图像。

image_url = response.data[0].url

g. 最后,为了结束脚本,我们使用“urllib”库从DALL-E检索并保存AI生成的图像到我们的Raspberry Pi,文件名为“image.png”。

urllib.request.urlretrieve(image_url, "image.png")

最终脚本

10.在添加所有之前的代码行之后,你应该会得到与我们下面所示类似的内容。

from openai import OpenAIimport urllib.request
client = OpenAI( api_key = 'SECRETKEY')
generation_prompt="A white siamese cat"
response = client.images.generate( model="dall-e-3", prompt=generation_prompt, size="1024x1024", quality="standard", n=1)
image_url = response.data[0].url
urllib.request.urlretrieve(image_url, "image.png")

11.现在,你可以通过按CTRL + X,然后按Y,再按ENTER来保存并退出文件。

测试你的AI图像生成脚本

12.脚本编写完成后,我们现在可以运行它来生成AI图像并将其保存到我们的Raspberry Pi上。脚本将使用你定义的提示向OpenAI请求一个新图像。

python3 generate.py

13.图像生成完成后,你将在与脚本相同的目录中得到一个名为“image.png”的文件。此图像是由DALL-E生成的并保存到你的Raspberry Pi上的图像。
下面是一个使用提示“一只白色的暹罗猫”生成的图像示例。

使用OpenAI的DALL-E生成的图像

结论

至此,你应该已经很好地了解了如何从你的Raspberry Pi生成AI艺术。为了实现这一点,我们使用了OpenAI的DALL-E。我们选择使用DALL-E,因为它非常容易接入,并且被认为是较好的图像生成器之一。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    89

    文章

    38120

    浏览量

    296660
  • 人工智能
    +关注

    关注

    1813

    文章

    49741

    浏览量

    261549
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109710
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用树莓与OpenCV实现面部和运动追踪的云台系统?

    大家好,这是一个树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点追踪使用树莓
    的头像 发表于 08-14 17:45 962次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenCV实现面部和运动追踪的云台系统?

    树莓操作系统:版本、特性及设置完整指南!

    树莓操作系统是什么?树莓操作系统是由树莓基金会专为树莓
    的头像 发表于 07-28 18:26 829次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>操作系统:版本、特性及设置完整指南!

    如何在树莓 AI HAT+上进行YOLO姿态估计?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物识别-入门指南在树莓
    的头像 发表于 07-20 20:34 610次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派</b> <b class='flag-5'>AI</b> HAT+上进行YOLO姿态估计?

    如何在树莓 AI HAT+上进行YOLO目标检测?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物识别-入门指南在树莓
    的头像 发表于 07-19 08:34 1198次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派</b> <b class='flag-5'>AI</b> HAT+上进行YOLO目标检测?

    树莓5上开启YOLO姿态估计识别之旅

    大家好,接下来会为大家开一个树莓5和YOLO的连载文章。内容包括四个部分:在树莓5上使用YOLO进行物体和动物识别-入门指南在树莓
    的头像 发表于 07-18 15:31 1989次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上<b class='flag-5'>开启</b>YOLO姿态估计识别<b class='flag-5'>之旅</b>!

    树莓5上使用YOLO进行物体和动物识别-入门指南

    大家好,接下来会为大家开一个树莓5和YOLO的专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物识别-入门指南在树莓
    的头像 发表于 07-17 17:16 1565次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上使用YOLO进行物体和动物识别-入门指南

    树莓6 传闻:发布日期与规格!

    将为带来关于即将发布的树莓6的猜想。据传,树莓6是一款正在研发中的单板计算机(SBC),作为树莓
    的头像 发表于 07-11 16:21 1349次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>6 传闻:发布日期与规格!

    20个任何人都能完成的树莓酷炫项目!

    的教程。我们假设使用的是树莓4,但大多数项目适用于旧款机型,甚至树莓Zero和Zero2
    的头像 发表于 07-03 17:10 3028次阅读
    20个任何人都能完成的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>酷炫项目!

    树莓小技巧:无需键盘或显示器,如何通过WiFi设置树莓

    树莓是一款小巧便携的USB供电计算机,可以隐藏起来用于小型项目,如网络服务器或家庭自动化。通常,设置树莓需要键盘和显示器来编辑和查看树莓
    的头像 发表于 06-26 15:41 1044次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示器,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    树莓复古游戏,会选哪一个?

    复古游戏与树莓单板计算机的组合十分常见。在树莓项目列表中,几乎都会包含至少一个复古游戏项目。复古游戏发行版让在树莓派上
    的头像 发表于 06-16 16:56 825次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>复古游戏,<b class='flag-5'>你</b>会选哪一个?

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是
    的头像 发表于 06-13 16:39 994次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    树莓“吉尼斯世界记录”:将树莓的性能发挥到极致的项目!

    完成的许多酷炫项目。这就引出了一个问题——该如何将树莓的性能推向极限呢?历经13年的项目实践和树莓各型号的发展,
    的头像 发表于 05-22 16:53 1200次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>“吉尼斯世界记录”:将<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的性能发挥到极致的项目!

    树莓 Zero 打造的智能漫游车!

    使用PXFMini和树莓Zero打造您自己的自主漫游车。本项目所用组件硬件组件ErleRoboticsPXFmini×1树莓Zero×1树莓
    的头像 发表于 05-13 16:39 870次阅读
    用 <b class='flag-5'>树莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游车!

    树莓GUI应用开发:从零到炫酷的魔法之旅

    各位树莓的粉丝们!今天我要带你们踏上一段神奇的旅程——探索树莓派上GUI应用的无限可能!是不是觉得树莓
    的头像 发表于 04-04 09:03 889次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>GUI应用开发:从零到炫酷的魔法<b class='flag-5'>之旅</b>!

    树莓+艺术品,有没有搞头?

    树莓(RaspberryPi)驱动的这一令人着迷的艺术品在国际上大受欢迎SisyphusIndustries公司的旗舰产品——具有家具和互动艺术品双重功能的沙盘。这个产品需要结构紧
    的头像 发表于 03-25 09:45 458次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>+<b class='flag-5'>艺术</b>品,有没有搞头?