Python

dall-eをapi経由で試してみる

dall-eをapi経由で試してみる

openAIのdall-eをpython api経由で試しました

こちらのリンク1を参考に、ローカルマシンに環境構築しpython api経由でdall-eのテキストから画像を試します。

環境構築

中華ミニPC(win11)にWSL2でdebianをインストールしました。debian上に構築を試みます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
kaji@trigkey:~$ pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html 
 
Looking in links: https://download.pytorch.org/whl/torch_stable.html
Collecting torch==1.7.1+cu110
  Downloading https://download.pytorch.org/whl/cu110/torch-1.7.1%2Bcu110-cp39-cp39-linux_x86_64.whl (1156.7 MB)
     |████████████████████████████████| 1156.7 MB 17 kB/s 
Collecting torchvision==0.8.2+cu110
  Downloading https://download.pytorch.org/whl/cu110/torchvision-0.8.2%2Bcu110-cp39-cp39-linux_x86_64.whl (12.8 MB)
     |████████████████████████████████| 12.8 MB 318 kB/s 
Collecting numpy
  Downloading numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
     |████████████████████████████████| 17.3 MB 7.8 MB/s 
Collecting typing-extensions
  Downloading typing_extensions-4.4.0-py3-none-any.whl (26 kB)
Collecting pillow>=4.1.1
  Downloading Pillow-9.4.0-cp39-cp39-manylinux_2_28_x86_64.whl (3.4 MB)
     |████████████████████████████████| 3.4 MB 14.4 MB/s 
Installing collected packages: typing-extensions, numpy, torch, pillow, torchvision
  WARNING: The scripts f2py, f2py3 and f2py3.9 are installed in '/home/kaji/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts convert-caffe2-to-onnx and convert-onnx-to-caffe2 are installed in '/home/kaji/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed numpy-1.24.2 pillow-9.4.0 torch-1.7.1+cu110 torchvision-0.8.2+cu110 typing-extensions-4.4.0
kaji@trigkey:~$ pip install kornia
Collecting kornia
  Downloading kornia-0.6.9-py2.py3-none-any.whl (569 kB)
     |████████████████████████████████| 569 kB 7.9 MB/s 
Collecting packaging
  Downloading packaging-23.0-py3-none-any.whl (42 kB)
     |████████████████████████████████| 42 kB 562 kB/s 
Collecting torch>=1.9.1
  Downloading torch-1.13.1-cp39-cp39-manylinux1_x86_64.whl (887.4 MB)
     |████████████████████████████████| 887.4 MB 13 kB/s 
Collecting nvidia-cuda-nvrtc-cu11==11.7.99
  Downloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)
     |████████████████████████████████| 21.0 MB 21.5 MB/s 
Requirement already satisfied: typing-extensions in ./.local/lib/python3.9/site-packages (from torch>=1.9.1->kornia) (4.4.0)
Collecting nvidia-cublas-cu11==11.10.3.66
  Downloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl (317.1 MB)
     |████████████████████████████████| 317.1 MB 37 kB/s 
Collecting nvidia-cuda-runtime-cu11==11.7.99
  Downloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)
     |████████████████████████████████| 849 kB 27.1 MB/s 
Collecting nvidia-cudnn-cu11==8.5.0.96
  Downloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl (557.1 MB)
     |████████████████████████████████| 557.1 MB 10 kB/s 
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=1.9.1->kornia) (0.34.2)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=1.9.1->kornia) (52.0.0)
Installing collected packages: nvidia-cublas-cu11, nvidia-cudnn-cu11, nvidia-cuda-runtime-cu11, nvidia-cuda-nvrtc-cu11, torch, packaging, kornia
  Attempting uninstall: torch
    Found existing installation: torch 1.7.1+cu110
    Uninstalling torch-1.7.1+cu110:
      Successfully uninstalled torch-1.7.1+cu110
  WARNING: The scripts convert-caffe2-to-onnx, convert-onnx-to-caffe2 and torchrun are installed in '/home/kaji/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torchvision 0.8.2+cu110 requires torch==1.7.1, but you have torch 1.13.1 which is incompatible.
Successfully installed kornia-0.6.9 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 packaging-23.0 torch-1.13.1
kaji@trigkey:~$

と環境構築を試みましたが、いろいろとエラーが出ます。ライブラリーのバージョンをいろいろと合わせないといけないようです。 これは結構沼です。

Google colaboratoryを試す

GitHubのソース上に「Open in colab」というアイコンがあります。これを押すと、サンプルがGoogle colaboratory2上で動きます。 ブラウザー上でpythonを記述して実行できます。Googleが提供するpythonに特化したSaaSのようです。おーーすげーーー。 googleのアカウントがあれば無料で利用可能です。

環境構築から順番にプレイボタンを押すと、問題なく進みます。GitHubのコードは、このGoogle colaboratryで動くように作成されたようです。 画像作成指示は「an armchair in the shape of an avocado」

ブラウザーの進捗をキャプチャーすると以下のようになります。

  • 環境設定
  • dall-eにて描画
  • 作成中の静止画を動画にまとめる

同じ指示で2回の作成過程をそれぞれffmpegで動画にしたものです。同じ指示でも異なる画像になってます。

まとめ

dall-eをpython api経由で試してみました。ローカル環境では環境構築できませんでしたが、 Google colaboratoryを使ってpython経由のAPIを試すことができました。 言語から簡単に画像を作成してくれるAIモデルを試してみました。言語から言語への翻訳、言語から音楽の作成モデルもあるようです。 AIも現実的に活用できる世の中になってきました。

参考リンク

comments powered by Disqus