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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

コードレビュー

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

695閲覧

kerasでのgridsearchでInvalid argumentのエラーが出る

pacapacapaaan

総合スコア3

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

コードレビュー

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/22 05:51

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
ニューラルネットでの自然言語処理に取り組んでいます。
kerasでgridsearchを使おうとすると、以下のエラーメッセージがたくさん発生しました。

発生している問題・エラーメッセージ

2020-09-22 14:29:49.265333: W tensorflow/core/framework/op_kernel.cc:1767] OP_REQUIRES failed at serialize_sparse_op.cc:382 : Invalid argument: indices[3] = [0,1631] is out of order. Many sparse ops require sorted indices. Use `tf.sparse.reorder` to create a correctly ordered copy.

該当のソースコード

python

1from os.path import dirname, join, normpath 2 3import pandas as pd 4from keras import backend as K 5from keras.layers import Dense, Dropout 6from keras.models import Sequential 7from keras.optimizers import SGD, Adadelta, Adagrad, Adam 8from keras.wrappers.scikit_learn import KerasClassifier 9from sklearn.feature_extraction.text import TfidfVectorizer 10from sklearn.model_selection import GridSearchCV 11 12from tokenizer import tokenize 13 14# Load training data 15BASE_DIR = normpath(dirname(__file__)) 16 17training_data = pd.read_csv(join(BASE_DIR, '/Users/pacapaca/Documents/test/15ス/assets/dialogue_agent_data/training_data.csv')) 18train_texts = training_data['text'] 19train_labels = training_data['label'] 20 21# Feature extraction 22vectorizer = TfidfVectorizer(tokenizer=tokenize, ngram_range=(1, 2)) 23train_vectors = vectorizer.fit_transform(train_texts) 24 25 26# Grid search 27def build_model(input_dim, output_dim, # <1> 28 optimizer_class, 29 learning_rate, 30 dropout=0): 31 if K.backend() == 'tensorflow': # <2> 32 K.clear_session() 33 34 mlp = Sequential() 35 mlp.add(Dense(units=32, input_dim=input_dim, activation='relu')) 36 if dropout: 37 mlp.add(Dropout(dropout)) 38 mlp.add(Dense(units=output_dim, activation='softmax')) 39 40 optimizer = optimizer_class(lr=learning_rate) 41 42 mlp.compile(loss='sparse_categorical_crossentropy', 43 metrics=['accuracy'], 44 optimizer=optimizer) 45 46 return mlp 47 48 49parameters = {'optimizer_class': [SGD, Adagrad, Adadelta, Adam], # <3> 50 'learning_rate': [0.1, 0.01, 0.001, 0.0001, 0.00001], 51 'dropout': [0, 0.1, 0.2, 0.3, 0.4, 0.5], 52 'epochs': [10, 50, 100, 200], 53 'batch_size': [16, 32, 64]} 54 55feature_dim = train_vectors.shape[1] 56n_labels = max(train_labels) + 1 57 58model = KerasClassifier(build_fn=build_model, # <4> 59 input_dim=feature_dim, 60 output_dim=n_labels, 61 verbose=0) 62gridsearch = GridSearchCV(estimator=model, param_grid=parameters) # <5> 63gridsearch.fit(train_vectors, train_labels) 64 65print('Best params are: {}'.format(gridsearch.best_params_)) 66 67# Load test data 68test_data = pd.read_csv(join(BASE_DIR, '/Users/pacapaca/Documents/test/15/assets/dialogue_agent_data/test_data.csv')) 69test_texts = test_data['text'] 70test_labels = test_data['label'] 71 72# Classification with the best parameters 73test_vectors = vectorizer.transform(test_texts) 74predictions = gridsearch.predict(test_vectors) 75

試したこと

kerasを使わず、ランダムフォレストでのgridserchではうまく行きました。
また、kerasでのgridsearchでもネットの他のソースコードではエラーが出なかったので、問題が特定できていません。

補足情報(FW/ツールのバージョンなど)

このような質問サイトを利用するのが初めてなので、質問のしかたなどのアドバイスもあればいただけると嬉しいです。
よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問