質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
サービス

サービスとはバックグラウンド上に常駐し、長時間稼動し続ける実行可能ファイルを指します。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

1回答

1732閲覧

__init__() got multiple values for argument 'endpoint'というエラーが出る

kazuki310

総合スコア13

サービス

サービスとはバックグラウンド上に常駐し、長時間稼動し続ける実行可能ファイルを指します。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

0グッド

0クリップ

投稿2020/06/08 13:24

現在、実践で学ぶ機械学習活用ガイドという本を利用して
Custmo Vision ServiceというサービスとAzureを利用してモデル構築を行っているのですがエラーが出て解決できないので質問させていただきます。

import glob from azure.cognitiveservices.vision.customvision.prediction import CustomVisionPredictionClient base_url = 'https://fishesclassification.cognitiveservices.azure.com/' projectID = '26b03373-d59c-4d92-be91-8f112825ecbd' publish_iteration_name = 'Iteration1' prediction_key = '1e553522b9464473936719cfa4a33308' def testModel(testfiles, fishname): data_count = len(testfiles) true_count = 0 # 予測用インスタンスの作成 predictor = CustomVisionPredictionClient(prediction_key, endpoint=base_url) for testfile in testfiles: predicts = {} with open(testfile, mode='rb') as f: # 予測実行  results = predictor.classify_image(projectID, publish_iteration_name, f.read()) # 予測結果のタグの数だけループ for prediction in results.predictions: # 予測した魚とその確率を紐づけて格納 predicts[prediction.tag_name] = prediction.probability # 一番確率の高い魚を予測結果として選択 prediction_result = max(predicts, key=predicts.get) # 予測結果が合っていれば正解数を増やす if fishname == prediction_result: true_count += 1 # 正解率の算出 accuracy = (true_count / data_count) * 100 print('正解率:' + str(accuracy) + '%') # 検証用画像を保存したルートディレクトリパス root_dir = 'fishimages/' # 検証対象の魚名一覧 fishnames = ['アイゴ','オニカサゴ','カサゴ','カワハギ','キュウセンベラ', 'クサフグ','ソウシハギ','マハゼ','マアジ','マイワシ','ミノカサゴ', 'メジナ','メバル'] for fishname in fishnames: print('****' + fishname + '****') # testデータのリストを取得 testfiles = glob.glob(root_dir + fishname + '/test/*') testModel(testfiles, fishname)

上記のコードを入力したところ下記のエラーが発生しました。

****アイゴ**** --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-68-0f0d99c2d038> in <module> 10 # testデータのリストを取得 11 testfiles = glob.glob(root_dir + fishname + '/test/*') ---> 12 testModel(testfiles, fishname) <ipython-input-67-d1f9876b6011> in testModel(testfiles, fishname) 4 5 # 予測用インスタンスの作成 ----> 6 predictor = CustomVisionPredictionClient(prediction_key, endpoint=base_url) 7 8 for testfile in testfiles: TypeError: __init__() got multiple values for argument 'endpoint'

Azure、Custmo Vision Service、モデル構築と調べてるのですが解決策が分からないのでこちらで質問させていただきました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

CustomVisionPredictionClient の説明のページを見ますと、CustomVisionPredictionClient(endpoint, credentials) と書いてありますので、順番が逆だと思います。

predictor = CustomVisionPredictionClient(base_url, prediction_key)

ではないでしょうか?

ちなみに、 TypeError: __init__() got multiple values for argument 'endpoint' というエラーですが、こちらは 'endpoint' に2つ値が渡されているという意味です。元のコードですと、おそらく prediction_key も 'endpoint' であると認識されています。

  • CustomVisionPredictionClient の説明のページ

https://docs.microsoft.com/en-us/python/api/azure-cognitiveservices-vision-customvision/azure.cognitiveservices.vision.customvision.prediction.customvisionpredictionclient?view=azure-python

投稿2020/06/08 23:47

kabayan55

総合スコア389

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuki310

2020/06/09 01:17

ありがとうございます。 predictor = CustomVisionPredictionClient(base_url, prediction_key) こちらに変更したのですが、エラーが出てAttributeError: 'str' object has no attribute 'signed_session'と出ました。
kabayan55

2020/06/09 02:48

stringの形式では入力できないようですね。Azure詳しく無いので動作するかわからないのですが、以下のコードで試していただけますか? credentials = ApiKeyCredentials(in_headers={"Training-key": prediction_key}) predictor = CustomVisionTrainingClient(base_url, credentials) 以下のページを参考にしました。おそらく書籍が出版された時とAzureのバージョンが異なっていて、入力の形式も変わったのでは無いかと思われます。 https://docs.microsoft.com/ja-jp/azure/cognitive-services/custom-vision-service/quickstarts/image-classification?pivots=programming-language-python
kazuki310

2020/06/09 11:09

返信いただきありがとうございます! credentials = ApiKeyCredentials(in_headers={"Training-key": prediction_key}) predictor = CustomVisionTrainingClient(base_url, credentials) こちらのコードで試してみましたがame 'CustomVisionTrainingClient' is not defined と出力されました。 少し内容的に難しいので一旦飛ばして他のことをやっていこうと思います。 ご協力ありがとうございました!
kabayan55

2020/06/09 12:03

すみません間違えました。元々のコードの CustomVisionPredictionClient が正しいです。参照先のリンクからコピペしたものを直したら間違えました。 了承しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問