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

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

関連記事

no image

PythonでValueError: If using all scalar values, you must pass an indexエラーが出た時の対処方法

  <目次> (1) PythonでValueError: If using all scalar values, you must pass an indexエラーが出た時の対処方法  ( …

Python開発環境にPandasライブラリをインストールする手順

(0)目次&概説 (1) Pandasの導入  (1-1) Pandasとは? (2) オフラインインストール  (2-1) インストール資源の入手  (2-2) インストール時の諸注意  (2-3) …

Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処方法について

  <目次> (1) Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処 …

AzureのAZ900の試験対策について(Microsoft Azure Fundamentals)

  <目次> (1) AzureのAZ900の試験対策について(Microsoft Azure Fundamentals)  (1-1) AZ900(Microsoft Azure Fund …

Exchange Onlineとは?

  <目次> (1) Exchange Onlineとは?  (1-1) 概要/特徴  (1-2) Exchange Onlineを使える人は?  (1-3) Exchange Online …

  • English (United States)
  • 日本語
Top