タグ付けされた質問 「keras」

Kerasは、PythonおよびRで高レベルのAPIを提供するニューラルネットワークライブラリです。このAPIの使用方法に関する質問には、このタグを使用してください。使用している言語/バックエンドのタグ([python]、[r]、[tensorflow]、[theano]、[cntk])も含めてください。tensorflowの組み込みのkerasを使用している場合は、[tf.keras]タグを使用します。

3
Keras LSTMについて
私はLSTMの理解を調整するために努力しており、この記事でKerasに実装されているChristopher Olahによって指摘されています。Jaras BrownleeがKerasチュートリアルとして書いたブログをフォローしています。主に混乱しているのは、 [samples, time steps, features]およびへのデータ系列の再形成 ステートフルLSTM 以下に貼り付けたコードを参照して、上記の2つの質問に集中してみましょう。 # reshape into X=t and Y=t+1 look_back = 3 trainX, trainY = create_dataset(train, look_back) testX, testY = create_dataset(test, look_back) # reshape input to be [samples, time steps, features] trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 1)) testX = numpy.reshape(testX, (testX.shape[0], look_back, 1)) ######################## …

2
Keras入力の説明:input_shape、units、batch_size、dimなど
任意のKeras層(の場合はLayerクラス)、缶誰かが違いを理解する方法を説明しinput_shape、units、dim、などを? たとえば、ドキュメントにはunits、レイヤーの出力形状を指定すると書かれています。 下のニューラルネットの画像にhidden layer1は4ユニットあります。これunitsはLayerオブジェクトの属性に直接変換されますか?それともunitsケラスでは、隠しレイヤーのすべてのウェイトの形状にユニット数を掛けたものに等しいですか? 簡単に言うと、下の画像を使用して、モデルの属性、特にレイヤーをどのように理解/視覚化するのですか?

7
KerasのBatchNormalization関数はどこで呼び出しますか?
KerasでBatchNormalization関数を使用したい場合、最初に一度だけ呼び出す必要がありますか? 私はそれについてこのドキュメントを読みました:http : //keras.io/layers/normalization/ どこに呼ぶべきかわかりません。以下はそれを使用しようとしている私のコードです: model = Sequential() keras.layers.normalization.BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None) model.add(Dense(64, input_dim=14, init='uniform')) model.add(Activation('tanh')) model.add(Dropout(0.5)) model.add(Dense(64, init='uniform')) model.add(Activation('tanh')) model.add(Dropout(0.5)) model.add(Dense(2, init='uniform')) model.add(Activation('softmax')) sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='binary_crossentropy', optimizer=sgd) model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2) バッチ正規化を含む2行目でコードを実行すると、2行目なしでコードを実行すると、同様の出力が得られるため、私は尋ねます。したがって、適切な場所で関数を呼び出していないか、それほど大きな違いはないと思います。

11
binary_crossentropyとcategorical_crossentropyが同じ問題に対して異なるパフォーマンスを提供するのはなぜですか?
CNNをトレーニングして、テキストをトピックごとに分類しようとしています。バイナリクロスエントロピーを使用すると、最大80%の精度が得られます。カテゴリカルクロスエントロピーでは、最大50%の精度が得られます。 なぜなのかわかりません。これはマルチクラスの問題です。それは、カテゴリクロスエントロピーを使用する必要があり、バイナリクロスエントロピーを使用した結果は無意味であることを意味しませんか? model.add(embedding_layer) model.add(Dropout(0.25)) # convolution layers model.add(Conv1D(nb_filter=32, filter_length=4, border_mode='valid', activation='relu')) model.add(MaxPooling1D(pool_length=2)) # dense layers model.add(Flatten()) model.add(Dense(256)) model.add(Dropout(0.25)) model.add(Activation('relu')) # output layer model.add(Dense(len(class_id_index))) model.add(Activation('softmax')) 次にcategorical_crossentropy、損失関数として次のようにコンパイルします。 model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) または model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 直観的には、カテゴリカルクロスエントロピーを使用する理由は理にかなっていますが、バイナリで良い結果が得られ、カテゴリで悪い結果が得られる理由がわかりません。

10
ケラス、各レイヤーの出力を取得するには?
CNNを使用してバイナリ分類モデルをトレーニングしましたが、これが私のコードです model = Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode='valid', input_shape=input_shape)) model.add(Activation('relu')) model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=pool_size)) # (16, 16, 32) model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=pool_size)) # (8, 8, 64) = (2048) model.add(Flatten()) model.add(Dense(1024)) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(2)) # define a binary classification problem model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']) model.fit(x_train, …

10
KerasのTensorboardコールバックを使用するにはどうすればよいですか?
Kerasでニューラルネットワークを構築しました。Tensorboardでデータを視覚化するため、以下を利用しました。 keras.callbacks.TensorBoard(log_dir='/Graph', histogram_freq=0, write_graph=True, write_images=True) keras.ioで説明されています。コールバックを実行するとが取得され<keras.callbacks.TensorBoard at 0x7f9abb3898>ますが、「Graph」フォルダにファイルがありません。このコールバックの使用方法に何か問題がありますか?
143 keras  tensorboard 

2
TensorFlow 2がTensorFlow 1よりもはるかに遅いのはなぜですか?
Pytorchに切り替える理由として多くのユーザーから引用されていますが、私は熱心な実行のために最も重要な実用的な品質、速度を犠牲にする理由と説明をまだ見つけていません。 以下は、TF1とTF2を比較したコードベンチマークのパフォーマンスです。TF1は、47%から276%速く実行されています。 私の質問は、グラフまたはハードウェアレベルで、このような大幅な速度低下をもたらすのは何ですか? 詳細な答えを探しています-すでに幅広い概念に精通しています。関連Git 仕様:CUDA 10.0.130、cuDNN 7.4.2、Python 3.7.4、Windows 10、GTX 1070 ベンチマーク結果: 更新:以下のコードに従ってEager Executionを無効にしても効果はありません。ただし、動作に一貫性がありません。グラフモードで実行するとかなり役立つ場合もあれば、Eagerに比べて実行速度が遅い場合もあります。 TF開発者はどこにも現れないので、私はこの問題を自分で調査します。リンクされたGithubの問題の進捗状況を追跡できます。 更新2:説明に沿って、共有する大量の実験結果。今日行われるべきです。 ベンチマークコード: # use tensorflow.keras... to benchmark tf.keras; used GPU for all above benchmarks from keras.layers import Input, Dense, LSTM, Bidirectional, Conv1D from keras.layers import Flatten, Dropout from keras.models import Model from keras.optimizers import Adam import …

10
Tensorflow 2.0-AttributeError:モジュール 'tensorflow'には属性 'Session'がありません
sess = tf.Session()Tensorflow 2.0環境でコマンドを実行すると、次のようなエラーメッセージが表示されます。 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'tensorflow' has no attribute 'Session' システムインフォメーション: OSプラットフォームとディストリビューション:Windows 10 Pythonバージョン:3.7.1 Tensorflowバージョン:2.0.0-alpha0(pipとともにインストール) 再現する手順: インストール: pip install --upgrade pip pip install tensorflow == 2.0.0-alpha0 pip install keras pip install numpy == 1.16.2 実行: コマンドを実行します:tensorflowをtfとしてインポートします コマンドを実行します:sess = …

5
Kerasモデルをgpuで実行できますか?
私はKerasモデルを実行していますが、提出期限は36時間ですが、モデルをCPUでトレーニングすると約50時間かかりますが、GPUでKerasを実行する方法はありますか? Tensorflowバックエンドを使用していて、anacondaをインストールせずにJupyterノートブックで実行しています。

18
imdb.load_data()関数の「allow_pickle = False」のときに「オブジェクト配列をロードできない」を修正するにはどうすればよいですか?
Google Colabの IMDbデータセットを使用してバイナリ分類の例を実装しようとしています。このモデルは以前に実装しました。しかし、数日後にもう一度実行しようとすると、値エラーが返されました。 私はすでにこれを解決しようとしましたが、同様の問題の既存の回答を参照しています:sketch_rnnアルゴリズムで「allow_pickle = False」のときにオブジェクト配列をロードできない方法 しかし、allow_pickle引数を追加するだけでは不十分であることがわかります。 私のコード: from keras.datasets import imdb (train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000) エラー: ValueError Traceback (most recent call last) <ipython-input-1-2ab3902db485> in <module>() 1 from keras.datasets import imdb ----> 2 (train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000) 2 frames /usr/local/lib/python3.6/dist-packages/keras/datasets/imdb.py in load_data(path, num_words, skip_top, maxlen, seed, …
113 python  numpy  keras 

5
Kerasでの "Flatten"の役割は何ですか?
FlattenKeras における関数の役割を理解しようとしています。以下は、単純な2層ネットワークである私のコードです。形状(3、2)の2次元データを取り込み、形状(1、4)の1次元データを出力します。 model = Sequential() model.add(Dense(16, input_shape=(3, 2))) model.add(Activation('relu')) model.add(Flatten()) model.add(Dense(4)) model.compile(loss='mean_squared_error', optimizer='SGD') x = np.array([[[1, 2], [3, 4], [5, 6]]]) y = model.predict(x) print y.shape これyは、形状(1、4)の出力です。ただし、Flatten線を削除すると、y形(1、3、4)のものが印刷されます。 分かりません。ニューラルネットワークについての私の理解から、このmodel.add(Dense(16, input_shape=(3, 2)))関数は、16ノードの完全に接続された非表示のレイヤーを作成しています。これらの各ノードは、3x2入力要素のそれぞれに接続されています。したがって、この最初のレイヤーの出力にある16個のノードはすでに「フラット」です。したがって、最初のレイヤーの出力形状は(1、16)になります。そして、第2層はこれを入力として、形状(1、4)のデータを出力する。 では、最初のレイヤーの出力がすでに「フラット」で形状(1、16)である場合、なぜさらにフラットにする必要があるのでしょうか。

2
Kerasでの多対一および多対多のLSTMの例
私はLSTMと、それらをKerasで構築する方法を理解しようとしています。私は、RNNを実行するために主に4つのモードがあることを発見しました(図の4つの正しいモード) 画像ソース:Andrej Karpathy さて、それぞれのミニマルなコードスニペットがKerasでどのように見えるのかと思います。だから何かのような model = Sequential() model.add(LSTM(128, input_shape=(timesteps, data_dim))) model.add(Dense(1)) 4つのタスクのそれぞれについて、少しの説明があるかもしれません。

6
トレーニング済みのKerasモデルを読み込んでトレーニングを続行する
部分的にトレーニングされたKerasモデルを保存し、モデルを再度ロードした後でトレーニングを続行できるかどうか疑問に思いました。 これは、将来的にトレーニングデータが増え、モデル全体を再トレーニングしたくないためです。 私が使用している機能は次のとおりです。 #Partly train model model.fit(first_training, first_classes, batch_size=32, nb_epoch=20) #Save partly trained model model.save('partly_trained.h5') #Load partly trained model from keras.models import load_model model = load_model('partly_trained.h5') #Continue training model.fit(second_training, second_classes, batch_size=32, nb_epoch=20) 編集1:完全に機能する例を追加 10エポック後の最初のデータセットでは、最後のエポックの損失は0.0748で、精度は0.9863です。 モデルを保存、削除、再ロードすると、2番目のデータセットでトレーニングされたモデルの損失と精度はそれぞれ0.1711と0.9504になります。 これは、新しいトレーニングデータまたは完全に再トレーニングされたモデルが原因ですか? """ Model by: http://machinelearningmastery.com/ """ # load (downloaded if needed) the MNIST dataset import …

1
早期停止にはどのパラメーターを使用する必要がありますか?
Kerasを使用してプロジェクトのニューラルネットワークをトレーニングしています。Kerasは早期停止の機能を提供しています。早期停止を使用してニューラルネットワークが過剰適合しないようにするために、どのパラメータを監視する必要があるかを知っていてもよいですか?

5
Kerasの埋め込みとは何ですか?
Kerasのドキュメントは、これが実際に何であるかを明確にしていません。これを使用して、入力フィーチャ空間をより小さなものに圧縮できることを理解しています。しかし、これはニューラルデザインの観点からどのように行われますか?オートエノクダー、RBMですか?
97 keras 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.