2017-07-18 20 views
0

Kerasでレイヤーを設計しました。これはネットワークの最初の層です。このレイヤーへの入力は、RGB画像、すなわち形状(高さ、幅、3)でなければなりません。しかし、私はコードを実行すると、私は次のエラーが発生します。Kerasレイヤー入力タイプ

ValueError:レイヤーsequential_1が、シンボルテンソルではない入力で呼び出されました。受信したタイプ:。フル入力:[< メイン .CountPixオブジェクト0x7fa9a5e81518>]。層へのすべての入力はテンソルでなければなりません。

画像を入力する方法、またはレイヤーで何を変更する必要がありますか?

クラスCountPix(レイヤー):

def __init__(self, **kwargs): 
    super(CountPix, self).__init__(**kwargs) 

def build(self, input_shape): 
    # Create a trainable weight variable for this layer. 
    self.kernel = self.add_weight(name='kernel', shape=((200,200,3)),initializer='uniform',trainable=True) 
    super(MyLayer, self).build(input_shape) # Be sure to call this somewhere! 

答えて

0

あなたが入力を定義する必要があります。

from keras.layers import Input 
input_X = Input(shape=(height, width, 3), dtype='float32', name='input_image') 

また、あなたのself.kernelラインは、あなたが明示的にそれがあるkerasを伝えるために必要がある場合は、この例と同様に入力形状があります。

from keras.layers import Dense 
from keras.models import Sequential 
model = Sequential() 
model.add(Dense(32, input_shape=(height, width, 3))) 
+0

だけの提案をしますが、中にimport文を含める必要がありますあなたの答えは、OPが「入力」がどこから来るのかを理解できるようにするためです。 – gionni

+0

チップをありがとう。 – circuitdesigner5172

+0

"input_X = Input(shape =(200,200,3)、dtype = 'float32'、name = 'input_image')" "TypeError:タイプのオブジェクトをTensorに変換できませんでした内容:(なし、200、200、200、3)要素をサポートされている型にキャストすることを検討してください。 –

関連する問題