KaggleでNAG Library for Pythonを使用する

Kaggleは、データサイエンスと機械学習のコンペティションを提供するプラットフォームであり、Kaggle Notebooksを使用してブラウザから直接コードを書き、実行できます。このチュートリアルでは、NAG Library for PythonをKaggleで利用するための手順を紹介します。(下記手順ではKaggleアカウントの電話番号認証が完了している必要があります。)

基本設定

ステップ1: NAGライブラリのインストール

Kaggleの新しいNotebookを開始するたびに、以下のコマンドを実行してNAGライブラリをインストールします。

!python -m pip install --extra-index-url https://www.nag.com/downloads/py/naginterfaces_nag naginterfaces
Kaggleでインストールしているところ

ステップ2: ライセンスキーの取得

NAG Library for Pythonを使用するには、ライセンスキーが必要です。以下の2種類のライセンスキーがあります:

  • トライアルキー: 評価目的で使用できる無料のキーです。NAGのウェブサイトからトライアルキーを取得できます。トライアルキーは1ヶ月間有効で、すべての機能が利用可能ですが、トライアル目的以外での使用は許可されていません。

  • 正規ライセンスキー: 製品版のキーです。ANNUALライセンスを購入すると、ライセンスキーがメールで送られてきます。正規ライセンスキーは1年間有効で、研究や学習などのアカデミック利用や商用利用が可能です。

ライセンスキーは、個人または組織に紐づいています。他者と共有したり、不正に使用したりしないようにしてください。

ステップ3: ライセンスキーファイルの設定

以下の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

この設定を行うことで、NAGライブラリはライセンスキーファイルを認識し、利用開始が可能になります。

ステップ4: クイックチェックの実行

セットアップが正しく完了したかを確認するため、以下のコマンドを実行しましょう。

!python -c "from naginterfaces import quick_check; quick_check()"

問題がなければ、各種情報が表示され、最後に以下のように all ok と表示されます。

QUICK CHECK: all ok

このチェックが失敗した場合は、以下の点を確認してください:

  • ライセンスキーが正しく設定されているか
  • ライセンスキーの有効期限が切れていないか
  • NAGライブラリが正しくインストールされているか

問題が解決しない場合は、NAGのサポートにお問い合わせください。

NAGライブラリの基本使用方法

Rosenbrock関数の最小化

以下のコード例は、Rosenbrock関数を最小化するものです。Kaggle Notebookにコピーして実行してみましょう。

# ライブラリのインポート
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にいては、製品ご案内ページ及びマニュアルページをご参照ください。

関連情報
Privacy Policy  /  Trademarks