keras下Python实现FCN的错误,求大神解答:??

0
import numpy as np

from keras.models import Model

from keras.layers import Input, UpSampling2D

from keras.layers import Conv2D, merge





'''-----------------载入数据---------------'''

img32 = np.load('img32.npy')

img16 = np.load('img16.npy')

img8 = np.load('img8.npy')



'''====================神经网络====================='''

input1 = Input(img32.shape[1:],name = 'input_1') #7*7*512

input2 = Input(img16.shape[1:],name = 'input_2') #14*14*512

input3 = Input(img8.shape[1:],name = 'input_3') #28*28*256



up1 = UpSampling2D(size = (2,2))(input1) #上采样 14*14*512

conv1 = Conv2D(512, 2, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(up1)

print ('conv1 shape:',conv1.shape)



merge1 = merge([input2,conv1], mode = 'sum', concat_axis = 3) #img32和img16相加

print ('merge1 shape:',merge1.shape)

x = Conv2D(512, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(merge1)

x = Conv2D(512, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(x)



up2 = UpSampling2D(size = (2,2))(x) #上采样 28*28*512

conv2 = Conv2D(256, 2, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(up2) #28*28*256

print ('conv2 shape:',conv2.shape)

merge2 = merge([input3,conv2], mode = 'sum', concat_axis = 3) #img16和img8相加

print ('merge2 shape:',merge2.shape)

x = Conv2D(256, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(merge2)

x = Conv2D(256, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(x)





model = Model(inputs = [img32, img16, img8],outputs = conv1)

model.compile(optimizer='rmsprop', loss='categorical_crossentropy')

fcn = model.predict([img32, img16, img8])

>>> runfile
Using TensorFlow backend.
conv1 shape: (?, 14, 14, 512)
>>> if len(set(self.inputs)) != len(self.inputs):
TypeError: unhashable type: 'numpy.ndarray'
execfile(filename, namespace)
File "D:\python3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "E:/代码和数据/草稿.py", line 43, in <module>
model = Model(inputs = [img32, img16, img8],outputs = conv1)
File "D:\python3\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "D:\python3\lib\site-packages\keras\engine\topology.py", line 1500, in __init__
File "D:\python3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
已邀请:

要回复问题请先登录注册