Keras例外:ValueError:入力をチェックしているときにエラーが発生しました:conv2d_1_inputが形状(150,150,3)を持ちますが、シェイプ(256,256,3)

私は画像のマルチクラス分類に取り組んでいます。このために私はkerasでCNNモデルを作成しました。私はすでにすべての画像をサイズ(150,150,3)に前処理しました。ここにモデルの概要があります Layer (type) Output Shape Param # ================================================================= conv2d_1 (Conv2D) (None, 146, 146, 32) 2432 _________________________________________________________________ max_pooling2d_1 (MaxPooling2 (None, 73, 73, 32) 0 _________________________________________________________________ conv2d_2 (Conv2D) (None, 71, 71, 64) 18496 _________________________________________________________________ max_pooling2d_2 (MaxPooling2 (None, 35, 35, 64) 0 _________________________________________________________________ conv2d_3 (Conv2D) (None, 33, 33, 64) 36928 _________________________________________________________________ max_pooling2d_3 (MaxPooling2 (None, 16, 16, 64) 0 _________________________________________________________________ conv2d_4 (Conv2D) (None, 14, 14, 128) 73856 _________________________________________________________________ max_pooling2d_4 (MaxPooling2 (None, 7, 7, 128) 0 _________________________________________________________________ flatten_1 (Flatten) (None, 6272) 0 _________________________________________________________________ dense_1 (Dense) (None, 300) 1881900 _________________________________________________________________ dense_2 (Dense) (None, 10) 3010 ================================================================= Total params: 2,016,622

もっと読む

Deep Belief Networkによって選択された機能の名前を知るにはどうすればよいですか?

DBNを使用して、公称変換後の nslkddデータセットの41個の機能を削減したいデータを数値にすると、フィーチャの数は41から121に増加します。 3つのRBM(121-50-10)を使用しました。これで10個の選択された機能を知りたいと思います。どうすればいい? ベストアンサー 一般に、理論的に入力を再現する10個のフィーチャ、すなわち41個のフィーチャを抽出/作成しています。独自の機能は必ずしも意味をなさないと思われ、(データセットによっては)解釈が難しい場合があります。プリンシパルコンポーネント分析と結果コンポーネントをフィーチャとして比較することができます。 モデルを

もっと読む

ResNet50のレイヤーの種類を媒介する方法

私は最初からResNet50を作り直そうとしていますが、層のマトリックスをどのように解釈するのかはよくわかりません。 例えば: [[1×1,64] [3×3、64] [1×1,4]]×3 畳み込みレイヤーであるはずですが、数字のそれぞれは何を表していますか? ベストアンサー 説明を明確にするために、私は34層の例を使用します: First you have a convolutional layer with 64 filters and kernel size of 7×7 (conv1 in your table) followed by a max pooling layer. Note that the stride is specified to be stride = 2 in both cases. Next, in conv2_x you have the mentioned pooling layer and the following convolution layers. Here the layers are normally grouped in pairs (trios in bigger architectures) because is how the residuals are connected (the arrows jumping each two layers). The first matrix: begin{equation}begin{bmatrix} 3×3, & 64 \ 3×3, & 64 end{bmatrix}*3end{equation} kernel_size = 3×3、num_filters = 64の2つのレイヤーを持ち、これらがx3繰り返されていることを意味します。これらはプール/ 2とフィルタ128との間の層&

もっと読む

自動エンコーダーの畳み込みネットワークフォーカスを視覚化する方法

私は、類似性の比較を行うためにエンコードされた中間層を使用するので、イメージを自動エンコードするために私が使用しているCNNのいくつかのクールな(そして少なくとも幾分意味のある)視覚化を作成しようとしています。 私。私は入力画像を見たいのですが、CNNが “注目している”ことを示す “ヒートマップ”や何かのオーバーレイを付けて、それが理にかなっているかどうかを確認してください。勾配の大きさのようなものがあるかもしれませんが、別のCNNプロジェクトでこれを確認しました。このサイトの例に類似しています – https://rajpurkar.github.io/mlx/visualizing -cnns/ どう&#x3

もっと読む

ResNet50を再作成する

私はKerasでResNet50を作り直そうとしています。私は、ブロック間に残ったステップを作成するプロセス、またはブロック自体を作成するプロセスさえ理解していません。それは簡単です: CNNを作成する cnnModel = Model() ブロック1 cnnModel.add(Conv2D(kernel_size =(7,7)、input_shape =(256,256,3)、filters = 64、strides = 2)) ブロック2 cnnModel.add(MaxPool2D(pool_size =(3,3)、strides = 2)) ブロック3 cnnModel.add(Conv2D(kernel_size =(3,3)、input_shape =(256,256,3)、filters = 64、)) cnnModel.add(Conv2D(kernel_size =(3,3)、input_shape =(256,256,3)、filters = 64、)) cnnModel.add(Conv2D(kernel_size =(3,3)、input_shape =(256,256,3)、filters = 64、)) cnnModel.add(Conv2D(kernel_size =(3,3)、input_shape =(256,256,3)、filters = 64、)) ブロック4 cnnModel.add(Conv2D(kernel_size =(3,3)、input_shape =(256,256,3)、filters = 64、)) cnnModel.add(Conv2D(kernel_size =(3,3)、input_shape

もっと読む

精密リコールロスト機能

I’ve been using precision and recall as my metrics, as per keras-team/keras/pull/9393/files Sensitivity & specificity is what I want to optimise for. Every epoch I output it: class SensitivitySpecificityCallback(Callback): def on_epoch_end(self, epoch, logs=None): if epoch: x_test = self.validation_data[0] y_test = self.validation_data[1] predictions = self.model.predict(x_test) output_sensitivity_specificity(epoch, predictions, y_test) def output_sensitivity_specificity(epoch, predictions, y_test): y_test = np.argmax(y_test, axis=-1) predictions = np.argmax(predictions, axis=-1) c = confusion_matrix(y_test, predictions) print(‘Confusion matrix:n’, c) print(‘[{:03d}] sensitivity’.format(epoch), c[0, 0]/(c[0, 1] + c[0, 0])) print(‘[{:03d}] specificity’.format(epoch), c[1, 1]/(c[1, 1] + c[1, 0])) 私の203年の時代には大きな成果が得られました。それから間違った方向に下降しています!そこから。 感度と特異性をどのように最適化するのですか? – 体重を更新し、そして/またはカスタムロス機能を開発することを考えている… ベストアンサー 申し訳ありませんが、適切な答えはありません

もっと読む

LSTMの動作を理解する:回帰問題の訓練を通して訓練の損失よりも検証の損失が小さい

私はtimeseriesの回帰のためのlstmモデルを構築しています。私のモデルの実装を確認し、ケラを理解するために、私は何が起こっているのかを理解するために、問題を使用しています。問題は、私はここで何が起こっているのか分からない。 私がモデルにフィットしているので、訓練損失は、バランスのとれた列車/検証セット(それぞれ5000サンプル)でも、検証損失よりも常に大きくなります。 私の理解では、2つの曲線は、訓練の損失が妥当性の喪失の上限になるように、まったく逆の方向でなければなりません。 予測は多かれ少なかれここにあります。しかし、私&

もっと読む

教師強制によるLSTM – NNはシーケンスの予測に失敗する

私はKerasのLSTMを試しています。正弦波(無作為に生成された波長、位相、長さ)を継続するようにネットワークを訓練するために、教師強制メソッドを使用しようとしています。 (別の実験では、seq2seq構造を持たない “通常の” LSTMを使用するか、教師強制を使用します。ここをクリック) 教師強制を使った私の結果は、ほとんど残されています。訓練と検証の損失は急速に低下した(損失:5.6201e-04 – val_loss:5.0437e-04 in epoch 10)、これはネットワークの予測能力(またはその欠如)を表すものではなく、最後のステップの地面の真実を使わずに時間点。 For the last 150 points, the orange line represents the prediction, and the blue line represents the ground trut

もっと読む

最後の分類層を連結して学習を伝達する

明白なXY問題に入る前に、私がしようとしていることを説明します。 私はマルチクラス分類のためにImagenetで事前にトレーニングされたシンプルなMobileNetを訓練しています。私がするのは、すべての畳み込み部分をフリーズし、新しい予測層(conv2D 1x1xN、Nはクラスの数)を作成することです。 5つのクラスで訓練した後、5つの新しいクラスの画像を新たに取得したとしましょう。私は最後の訓練の知識を保ち、新しい授業だけで訓練できるようにしたい。 私がやることは、同じ凍結された事前訓練されたウェイトを使用して新しいモデルをトレーニングすることですが、新&#x

もっと読む

KerasのSklearnメトリクスからカスタム損失関数を作成するには?

Kerasのニューラルネットワークの損失関数としてsklearnの相互情報量を使用したいのですが、どうやってそれを行うのか分かりません。データセット内の関係が非線形であり、代わりにこのメトリックを使用すると役立つと思うので、これを試してみたいと思います。 カスタムロスト機能の作成についての投稿は1年以上経過していますので、その一部が私の頭の上にあるので、これを行う簡単な方法がいくつかあると思っていました。 これについてどうやって行くのか? どうもありがとう ベストアンサー クロスエントロピー損失関数を使用してください。これはすでにKerasに組み&#

もっと読む