Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Azure Microsoft Python

Azure Machine Learningで「OSError: Could not find kaggle.json」が出た時の原因と対処方法について

投稿日:2023年5月2日 更新日:

 

<目次>

(1) Azure Machine Learningで「OSError: Could not find kaggle.json」が出た時の原因と対処方法について
 (1-1) エラー内容
 (1-2) 原因
 (1-3) 対処
 (1-4) あとがき

(1) Azure Machine Learningで「OSError: Could not find kaggle.json」が出た時の原因と対処方法について

(1-1) エラー内容

NotebookからKaggleのデータセットをダウンロードしようと、Pythonプログラムを起動するジョブを実行したところ、下記のエラーが発生。
(エラーメッセージ)
raise IOError('Could not find {}. Make sure it\'s located in'
OSError: Could not find kaggle.json. Make sure it's located in /root/.kaggle. Or use the environment method.
(図411)

(1-2) 原因

kaggle.jsonが配置されていないため、認証に失敗した。
※Linuxの場合「~/.kaggle/kaggle.json」に配備
※Windowsの場合「C:\Users\[ユーザー名]\.kaggle\kaggle.json」に配備

(1-3) 対処

●STEP1:kaggleライブラリのインストール
(コマンド)
> pip install kaggle
(図431)
●STEP2:kaggle.jsonの配備
・STEP2-1:配備用のディレクトリ作成
Linuxのため「~/.kaggle/」を作成します。
「~」はホームディレクトリの意味で、今回の例では「/home/azureuser」になります。
(コマンド)
> mkdir /home/azureuser/.kaggle
(図432①)
・STEP2-2:kaggle.jsonファイルの作成
viコマンドでjsonファイルを作って、開きます。
(コマンド)
> vi /home/azureuser/.kaggle/kaggle.json

(図432②)

・STEP2-3:kaggle.jsonの内容を入力
viコマンドでエディタ起動後に「i」を押すと編集モードになります。
↓追記内容
{"username":"[ユーザー名]","key":"[APIキー]"}
(図432③)
・STEP2-4:保存
「ESC」+「:!wq」入力し、「Enter」押下します。
「w」は保存の意味です。
(図432④)
●STEP3:ダウンロードの再試行
今回は犬と猫の画像データを試しにダウンロードします。
「-p」オプションで保存先のパスを指定しています。
(コマンド)
> kaggle competitions download -p ./data/ -c dogs-vs-cats
(図433)
(結果)

Downloading dogs-vs-cats.zip to ../data
 98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▎  | 792M/812M [00:03<00:00, 268MB/s]
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 812M/812M [00:09<00:00, 89.2MB/s]
(図434)zipファイルがダウンロードされた。
→後は、普通にNotebookで解凍や加工などを進める事ができます。

(1-4) あとがき

元々はデータセットのダウンロード自体もNotebook(からPythonモジュールを呼び出し)で実施しようとしていました。
上記のように「kaggle.json」を「/root/.kaggle」に配置しても「/root/.kaggleに配置せよ」とエラーになり、環境変数をプログラム内で指定しようとするもNGで、今回は諦めました・・・
(NGサンプル)
from kaggle.api.kaggle_api_extended import KaggleApi
import zipfile
import csv

os.environ["KAGGLE_USERNAME"] ='xxxx'
os.environ["KAGGLE_KEY"] ='xxxxxxx'

api = KaggleApi()
api.authenticate()

output_path = './data/'

# kaggle.com/c/sentiment-analysis-on-movie-reviewsからダウンロード
# train.tsv.zip / test.tsv.zipの2つのファイルがある
# './'はカレントディレクトリの意味。
api.competition_download_file('dogs-vs-cats',
    'train.zip', path=output_path)
api.competition_download_file('dogs-vs-cats',
    'test1.zip', path=output_path)
しかし、特に動的に行う必要性が無かったため、事前にコマンドラインからダウンロードできればOKとして、特にNotebook上からダウンロードできない件は深追いをやめました。
(図435)
もし詳しい方がいたら、コメントいただけると嬉しいです。

Adsense審査用広告コード


Adsense審査用広告コード


-Azure, Microsoft, Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Azure Logic AppsからAzure Storageを操作する方法(access_tokenの更新を題材に)

  <目次> (1) Azure Logic AppsからAzure Storageを操作する方法(access_tokenの更新を題材に)  (1-0) やりたいこと  (1-1) STE …

Azure PowerShellのインストール手順(Azモジュール)及びコマンド一覧の確認方法

  <目次> (1) Azure PowerShellのインストール手順(Azモジュール)及びコマンド一覧の確認方法  (1-1) 事前準備:ご自身のPowerShellのバージョン確認   …

PythonのTkinterでテキストボックスの値を取得する方法

<目次> (1) PythonのTkinterでテキストボックスの値を取得する方法  (1-1) 構文  (1-2) キャンバスの設定  (1-3) 入力ボックスの追加  (1-4) ボタン押下時の処 …

Azure App Serviceとは?概要と基本的な使い方をご紹介

  <目次> (1) Azure App Serviceとは?概要と基本的な使い方をご紹介  (1-1) Azure App Serviceとは?  (1-2) Azure App Serv …

Yammerとは?機能や利点と今後の展望予想について

<目次> (1) Yammerとは?機能や利点と今後の展望について  (1-1) Yammerとは?  (1-2) Yammerの利点  (1-3) Yammerの画面イメージや機能  (1-4) Y …

  • English (United States)
  • 日本語
Top