2017-05-11 5 views
0

J'ai un programme qu'il a été écrit pour Keras 1.x.x et j'essaye de le relancer dans Keras 2.x.x. Cependant, quand il atteint ce point,Comment puis-je convertir la fonction de fusion pour qu'elle soit lisible sur Keras 2.?

from keras.layers import Input, merge 

up2 = merge([UpSampling2D(size=(2, 2))(conv5), conv4], mode='concat', concat_axis=1) 

il montre l'erreur suivante:

UserWarning: The `merge` function is deprecated and will be removed after 08/2017. Use instead layers from `keras.layers.merge`, e.g. `add`, `concatenate`, etc. 
    up1 = merge([UpSampling2D(size=(2, 2))(conv3), conv2], mode='concat', concat_axis=1) 
/usr/local/python/3.5.2-gcc4/externalmodules/lib/python3.5/site-packages/keras/legacy/layers.py:456: UserWarning: The `Merge` layer is deprecated and will be removed after 08/2017. Use instead layers from `keras.layers.merge`, e.g. `add`, `concatenate`, etc. 
    name=name) 

Je n'ai rien changé, même des données est la même. Pourriez-vous s'il vous plaît me guider comment puis-je convertir la fonction de fusion pour être lisible sur Keras 2.x.x. Merci

Répondre

0

L'avertissement est désactivé. Vous devez utiliser kears.layers.merge.Concatenate au lieu de merge.

from keras.layers.merge import Concatenate 
up2 = Concatenate([UpSampling2D(size=(2, 2))(conv5), conv4], axis=1) 
+1

merci pour votre commentaire. J'ai essayé votre suggestion et il me montre l'erreur suivante: 'TypeError: __init __() a obtenu plusieurs valeurs pour l'argument 'axe' –