Google Colabは、ブラウザからPythonプログラムを書いて実行できる無料のクラウドサービスです。ここでは、nAG Library for PythonをGoogle Colabで利用するための基本的な手順をご紹介します。
基本設定
ステップ1: nAGライブラリのインストール
新しいセッションを開始するたびに、以下のコマンドを実行してnAGライブラリをインストールします。これは、Google Colabが提供する仮想マシンが一時的なものであり、セッションが終了すると環境がリセットされるためです。
!python -m pip install --extra-index-url https://www.nag.com/downloads/py/naginterfaces_nag naginterfaces
ステップ2: ライセンスキーの取得
nAG Library for Pythonを使用するには、ライセンスキーが必要です。以下の2種類のライセンスキーがあります:
トライアルキー: 評価目的で使用できる無料のキーです。nAGのウェブサイトからトライアルキーを取得できます。トライアルキーは1ヶ月間有効で、すべての機能が利用可能ですが、トライアル目的以外での使用は許可されていません。
正規ライセンスキー: 製品版のキーです。ANNUALライセンスを購入すると、ライセンスキーがメールで送られてきます。正規ライセンスキーは1年間有効で、研究や学習などのアカデミック利用や商用利用が可能です。
ライセンスキーは、個人または組織に紐づいています。他者と共有したり、不正に使用したりしないようにしてください。
ステップ3: Googleドライブのマウント(オプション)
コードやライセンスキーを永続的に保存したい場合、Googleドライブをマウントします。これにより、セッション間でもファイルを維持できますが、ドライブのマウントはセッションごとに必要です。
from google.colab import drive
drive.mount('/content/drive')
ステップ4: ライセンスキーファイルの設定
以下のYOUR-LICENCE-KEY HEREになっている部分を実際のライセンスキーで置き換えて実行してください。
key_path = '/content/nag_key.txt'
with open(key_path, 'w') as f:
f.write("""
YOUR-LICENCE-KEY HERE
""")
# 例(サンプルで無効なキーです) NLL6I29XV TRIAL 2024/04/18 "t=eRGcGsoKgejkbYoltUdUmjb9"
import os
os.environ['nAG_KUSARI_FILE'] = key_path
これらの操作は、セッション内で1回行えば、そのセッション内の後続のセルで有効です。
ステップ5: クイックチェックの実行
セルに以下のコマンドを打ち込み、インストールが正しく完了したかを確認します。
!python -c "from naginterfaces import quick_check; quick_check()"
問題がなければ、各種情報が表示され、最後に以下のように all ok と表示されます。
QUICK CHECK: all ok
このチェックが失敗した場合は、以下の点を確認してください:
- ライセンスキーが正しく設定されているか
- ライセンスキーの有効期限が切れていないか
- nAGライブラリが正しくインストールされているか
問題が解決しない場合は、nAGのサポートにお問い合わせください。
nAGライブラリの基本使用方法
Rosenbrock関数の最小化
以下のコード例は、Rosenbrock関数を最小化するものです。セルにコピーしてお試しください。
# ライブラリのインポート
from naginterfaces.library.opt import bounds_quasi_func_easy
# 目的関数の定義(Rosenbrock関数)
rosen = lambda x: (
sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1.0-x[:-1])**2.0)
)
# 初期値の設定
x = [1.2, 1.0, 1.2, 1.0]
# 変数の数を取得
n = len(x)
# 境界条件の設定
bl, bu = ([0.0]*n, [2.0]*n)
ibound = 0
# ソルバーの呼び出しと最適化問題の解決
opt_soln = bounds_quasi_func_easy(
ibound, rosen, bl, bu, x,
)
# 最適解における目的関数の値を表示
print('Function value at lowest point found is {:.5f}.'.format(opt_soln.f))
# 最適解の変数の値を表示
print('The corresponding x is (' +
', '.join(['{:.4f}'] * n).format(*opt_soln.x) +
').')
この例では、Rosenbrock関数の最小化を行っています。最適化の設定には、初期値、変数の数、変数の下限と上限、境界条件などを指定します。最小化の実行後、最適点での関数値と変数の値が表示されます。
以上が、Google ColabでのnAG Library for Pythonの基本的な使用方法です。nAG Library for Pythonにいては、製品ご案内ページ及びマニュアルページをご参照ください。
