2017-03-16 7 views
6

मैं केरास का उपयोग कर मॉडल एम्बेडिंग इकाई को पुन: उत्पन्न करने की कोशिश कर रहा हूं। यहां github link है और kaggle शाखा का उपयोग करें। एक पायथन फ़ाइल models.py है और Merge परत का उपयोग किया जाता है। Using TensorFlow backend. Traceback (most recent call last): File "/Users/pengjuzhao/Udacity/MLND/entity-embedding-rossmann/test_model.py", line 2, in <module> from models import NN_with_EntityEmbedding File "/Users/pengjuzhao/Udacity/MLND/entity-embedding-rossmann/models.py", line 8, in <module> from keras.layers.core import Dense, Dropout, Activation, Merge, Reshape ImportError: cannot import name Merge [Finished in 1.8s with exit code 1] [shell_cmd: python -u "/Users/pengjuzhao/Udacity/MLND/entity-embedding-rossmann/test_model.py"] [dir: /Users/pengjuzhao/Udacity/MLND/entity-embedding-rossmann] [path: /usr/bin:/bin:/usr/sbin:/sbin] केरस 2.0.0 पर मर्ज लेयर (कॉन्सट फ़ंक्शन) का उपयोग कैसे करें?

:

from keras.layers.core import Dense, Dropout, Activation, Merge, Reshape ......
self.model.add(Merge(models, mode='concat'))

इस कोड Keras के पुराने संस्करण के लिए ठीक होना चाहिए, लेकिन बैकएंड (अजगर 2.7) के रूप में tensorflow 1.0.0 का उपयोग कर Keras 2.0.0 का उपयोग कर, कोई ग़लत जानकारी हो जाएगा

क्या कोई है जो जानता है कि एक ही लक्ष्य (self.model.add(Merge(models, mode='concat'))) तक पहुंचने के लिए या केरस 2.0.0 का उपयोग करके मर्ज/मर्ज लेयर का उपयोग कैसे करें? अग्रिम धन्यवाद।

उत्तर

10

मुझे लगता है कि आप गलत स्थान से आयात कर रहे हैं। आपको क्या करना चाहिए:

from keras.layers import Merge 

merge/Merge और उन्हें कैसे उपयोग करने के लिए के बारे में अधिक जानकारी के लिए इस Github post देखें।

उसी Github post से, कोड के दो स्निपेट समकक्ष हैं।

Keras 1.2.2 कोड:

from keras.engine import merge 
m = merge([init, x], mode='sum') 

समतुल्य Keras 2.0.2 कोड:

from keras.layers import add 
m = add([init, x]) 
+3

अपने जवाब के लिए धन्यवाद, लेकिन इसमें कुछ गड़बड़ी है। बग यहाँ है। /Users/pengjuzhao/anaconda/lib/python2.7/site-packages/keras/legacy/layers.py:66: उपयोगकर्ता चेतावनी: 'मर्ज' परत को बहिष्कृत किया गया है और 08/2017 के बाद हटा दिया जाएगा। 'Keras.layers.merge' से परतों के बजाय उपयोग करें, उदा। 'add',' concatenate', आदि चेतावनियां। वार्न ('' मर्ज 'परत को हटा दिया गया है' ऐसा लगता है कि मर्ज लेयर कोरास 2.0 से हटा दिया गया है। लेकिन विधि 'keras.layers.merge। Concat' मौजूद नहीं है। –

+0

हाँ। मुझे लगता है कि आपको गिटहब – Antoine

+0

पर कोई समस्या दर्ज करनी चाहिए क्या आपने 'keras.layers.merge.Concatenate' का उपयोग करने का प्रयास किया है? – Nilesh

संबंधित मुद्दे