From dc0723a321ed6d62653ee1fae3b90b679c96125a Mon Sep 17 00:00:00 2001 From: Martino Mensio Date: Wed, 4 Oct 2017 16:12:17 +0200 Subject: [PATCH 1/3] remove pyc files from versioning --- .gitignore | 104 ++++++++++++++++++++++++++++++++ program/BasicModel.pyc | Bin 24764 -> 0 bytes program/History.pyc | Bin 808 -> 0 bytes program/PredefinedEmbedding.pyc | Bin 2065 -> 0 bytes program/wordSlotDataSet.pyc | Bin 7535 -> 0 bytes 5 files changed, 104 insertions(+) create mode 100644 .gitignore delete mode 100644 program/BasicModel.pyc delete mode 100644 program/History.pyc delete mode 100644 program/PredefinedEmbedding.pyc delete mode 100644 program/wordSlotDataSet.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6cd11ba --- /dev/null +++ b/.gitignore @@ -0,0 +1,104 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +.static_storage/ +.media/ +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ \ No newline at end of file diff --git a/program/BasicModel.pyc b/program/BasicModel.pyc deleted file mode 100644 index e289b7666165187609e761e75277bef53bdcab82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24764 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 diff --git a/program/History.pyc b/program/History.pyc deleted file mode 100644 index d6640fb5a444651b54e78eca5d3becc2f18e89fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmbtS%}&EG40hTvp|JrkfW)!lu)Y97h#i>Fv_mU|*d^*u)@5s(s>voz+HHFR9)s88 z0l-c>xU(pBZ725U&yD*v=zXj{-x6q-i{D2SeTOQ=%^(LT7|a;3)B(X@&LDN+0I&ym zpE;0rAoR}gy8OoFF|^D%s!^2Zag?mg1v(R@^;l}7>g_L{>GDJSNMy@jLVF0YsL$v&b zDuln08=3ge(u~)!|Dt4R!pW;&)her_!f#0otF5`j6jgFlN3!Ix$Ye>=)6^fZgzTf( zR&OwXeJ*h`*g3Go(J|QD&2ZEW#cA7|)*fXCRLu~PsH#Mn8VY8@G>7CE8hsp@WDyX* z(l5TCvCof9`DNTCIbKRQK#j0*J&iUf)(C}|rZ6smKpfYs`B@vW1!&v)+L zI!!A3DLnDW$KXTo!Uy2P@B!dAbBSG~zLB$bZ*OLH_O~;?8T)_VZ2dO={cu2+kB|2^ z7}d9!GNL|aMVUvrqCOV&+M~WtnNPYwLr5C*3(*D9&;5Y1fIs>n@9A|ycJ&da)`Q8B z&N5RRSFNM-Xzy;cpN_|AVZL}Wvn}%vo&&c9!^c)Nw%@tiJ zniC~*X0O9o4mxb=-oj*cx&mCe7DOx0wVA-s`Ow{bUHQ=Dx&r~pRDF$A_oSTY?x{I7 zgYF~a_Gd@k?@Lp--VaZ^Q(GR}bkco8nC?!`-5Rzhi7AXr625W80LdFLS|0o<*SdiP zZZnefwtIr`;J?Uv=9QLf#=NUu`Mkoo9<-ZqbgbPn(R*g{DMU4Bwaf({DxgoXKq8Rs zu}Aj(s|$G4M!MTQRy9Pm^9I%BZDBkP$^P`31@^UjPSMD_5(e-X($M3a_c8*Jn>hNw zF_QZ~_9P$`=X1AP-4p2pNSW-0qugOTF>)NbV(J3CUTIra66l!qj`zPTZFYU}d>bAS z&qFv}#*|B?Vuq61P@6Kg)TSquc}bTdo#-SH&L+vE%w{=%@{N-uD+fsuGyIqZF>`kX zSXTd&voSoFh5;B9LUX zfD4cIp8r9M2F-mMVQ$bU;0DE}0nI@kO)eBKO`1am=J@p9BBbIInumnTucTw2?61tM zNBamEyr=>+lup-PG|8>gsKuM$p=J#DG;h-G*;nLluypB7aBb6Kjob!%n6FVAN7wdk zd@+dK7k|>>i#v2^Ku6#TX@{LRX=kxc^L22M<8)9lhn`h;5C(J~p`G;X$F@Am^(1;} z+{voBMMJci&!eJrQJUw`sUEn}R#9qo`V)v ztrl_&%E=U7MORLBAtbM+xpDQ%SyL1LVVYN3ssu-fxjr*4=IqAYhs4~b1*pqJ8|G!| zI-=zgk@m`UvZQoXn;BaAA!Mq$DbjM#zuU bg?PW-dXu8xt;_r#2l%q?Hq^$g+wcAh5FV^> diff --git a/program/wordSlotDataSet.pyc b/program/wordSlotDataSet.pyc deleted file mode 100644 index 50797ae408a58d8a5d4dcf759dda9cd1286789e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7535 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 WB;4eiMdJeT+*!O+x>mYTy7(_#P;aOJ From c63b061c28a749da7553273fd65e2714ef13b5d2 Mon Sep 17 00:00:00 2001 From: Martino Mensio Date: Wed, 4 Oct 2017 16:13:38 +0200 Subject: [PATCH 2/3] fixing inconsistent use of tabs and spaces in indentation and removing unused imports that are no more available in keras --- program/BasicModel.py | 86 +++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/program/BasicModel.py b/program/BasicModel.py index b194205..178e962 100644 --- a/program/BasicModel.py +++ b/program/BasicModel.py @@ -11,8 +11,8 @@ from Encoding import encoding import argparse from keras.preprocessing import sequence -from keras.models import Sequential, Graph, Model -from keras.layers import Input, merge, Merge, Dense, TimeDistributedDense, Dropout, Activation, RepeatVector, Permute, Reshape, RepeatVector, Flatten +from keras.models import Sequential, Model +from keras.layers import Input, merge, Merge, Dense, Dropout, Activation, RepeatVector, Permute, Reshape, RepeatVector, Flatten from keras.layers.convolutional import Convolution1D, MaxPooling1D, AveragePooling1D from keras.layers.embeddings import Embedding from keras.layers.recurrent import SimpleRNN, GRU, LSTM @@ -184,10 +184,10 @@ def build( self ): tagger = forward if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) + prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) - self.model = Model(input=raw_current, output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=raw_current, output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) # 2-Stacked Layered RNN (LSTM, SimpleRNN, GRU) elif self.arch == '2lstm' or self.arch == '2rnn' or self.arch == '2gru': @@ -242,14 +242,14 @@ def build( self ): encoder = fencoder labeling = flabeling #intent = Dense(self.output_vocab_size, activation='softmax')(encoder) - encoder = RepeatVector(self.time_length)(encoder) - tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) + encoder = RepeatVector(self.time_length)(encoder) + tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) + prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) - self.model = Model(input=raw_current, output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=raw_current, output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) # Encode intent information by feeding all words and then start tagging elif self.arch == 'i-c-rnn' or self.arch == 'i-c-gru' or self.arch == 'i-c-lstm' or self.arch == 'i-c-brnn' or self.arch == 'i-c-bgru' or self.arch == 'i-c-blstm': @@ -275,14 +275,14 @@ def build( self ): else: labeling = forward #intent = Dense(self.output_vocab_size, activation='softmax')(encoder) - encoder = RepeatVector(self.time_length)(encoder) - tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) + encoder = RepeatVector(self.time_length)(encoder) + tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) + prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) - self.model = Model(input=raw_current, output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=raw_current, output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) # Encode all history and the current utterance first and then start tagging @@ -317,14 +317,14 @@ def build( self ): encoder = fencoder labeling = flabeling #intent = Dense(self.output_vocab_size, activation='softmax')(encoder) - encoder = RepeatVector(self.time_length)(encoder) - tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) + encoder = RepeatVector(self.time_length)(encoder) + tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) + prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) - self.model = Model(input=[raw_his, raw_cur], output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=[raw_his, raw_cur], output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) # Encode all history and the current utterance first and then start tagging elif self.arch == 'hi-c-rnn' or self.arch == 'hi-c-gru' or self.arch == 'hi-c-lstm' or self.arch == 'hi-c-brnn' or self.arch == 'hi-c-bgru' or self.arch == 'hi-c-blstm': @@ -353,14 +353,14 @@ def build( self ): encoder = MaxPooling1D(self.time_length)(encoder) encoder = Flatten()(encoder) #intent = Dense(self.output_vocab_size, activation='softmax')(encoder) - encoder = RepeatVector(self.time_length)(encoder) - tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) + encoder = RepeatVector(self.time_length)(encoder) + tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) + prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) - self.model = Model(input=[raw_his, raw_cur], output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=[raw_his, raw_cur], output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) elif 'amemn2n' in self.arch: # current: (, time_length, embedding_size) @@ -434,7 +434,7 @@ def build( self ): else: raw_input_memory = Input(shape=(self.his_length * self.time_length, self.embedding_size), name='input_memory') input_memory = Reshape((self.his_length, self.time_length, self.embedding_size))(raw_input_memory) - mem_vec = TimeDistributed(sent_model)(input_memory) + mem_vec = TimeDistributed(sent_model)(input_memory) # compute the similarity between sentence embeddings for attention match = merge([mem_vec, cur_vec], mode='dot', dot_axes=[2, 1]) @@ -452,18 +452,18 @@ def build( self ): backward = LSTM(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation, go_backwards=True)(current) labeling = merge([forward, backward], mode='concat', concat_axis=-1) elif 'rnn' in self.arch: - labeling = SimpleRNN(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation)(current) + labeling = SimpleRNN(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation)(current) elif 'gru' in self.arch: - labeling = GRU(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation)(current) + labeling = GRU(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation)(current) elif 'lstm' in self.arch: - labeling = LSTM(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation)(current) - tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) + labeling = LSTM(self.hidden_size, return_sequences=False, init=self.init_type, activation=self.activation)(current) + tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = Dense(self.output_vocab_size, activation='softmax')(tagger) + prediction = Dense(self.output_vocab_size, activation='softmax')(tagger) - self.model = Model(input=[raw_input_memory, raw_current], output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=[raw_input_memory, raw_current], output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) elif 'memn2n' in self.arch: # current: (, time_length, embedding_size) @@ -537,7 +537,7 @@ def build( self ): else: raw_input_memory = Input(shape=(self.his_length * self.time_length, self.embedding_size), name='input_memory') input_memory = Reshape((self.his_length, self.time_length, self.embedding_size))(raw_input_memory) - mem_vec = TimeDistributed(sent_model)(input_memory) + mem_vec = TimeDistributed(sent_model)(input_memory) # compute the similarity between sentence embeddings for attention match = merge([mem_vec, cur_vec], mode='dot', dot_axes=[2, 1]) @@ -548,7 +548,7 @@ def build( self ): his_vec = merge([mem_vec, match], mode='dot', dot_axes=[1, 1]) encoder = merge([his_vec, cur_vec], mode='sum') encoder = Dense(self.embedding_size)(encoder) - encoder = RepeatVector(self.time_length)(encoder) + encoder = RepeatVector(self.time_length)(encoder) # tagging the words in the current sentence if 'blstm' in self.arch: @@ -556,23 +556,23 @@ def build( self ): backward = LSTM(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation, go_backwards=True)(current) labeling = merge([forward, backward], mode='concat', concat_axis=-1) elif 'rnn' in self.arch: - labeling = SimpleRNN(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) + labeling = SimpleRNN(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) elif 'gru' in self.arch: - labeling = GRU(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) + labeling = GRU(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) elif 'lstm' in self.arch: - labeling = LSTM(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) - tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) + labeling = LSTM(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) + tagger = merge([encoder, labeling], mode='concat', concat_axis=-1) if self.dropout: tagger = Dropout(self.dropout_ratio)(tagger) - prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) + prediction = TimeDistributed(Dense(self.output_vocab_size, activation='softmax'))(tagger) - self.model = Model(input=[raw_input_memory, raw_current], output=prediction) - self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) + self.model = Model(input=[raw_input_memory, raw_current], output=prediction) + self.model.compile(loss='categorical_crossentropy', optimizer=opt_func) def train(self, H_train, X_train, y_train, H_dev, X_dev, y_dev, val_ratio=0.0): # load saved model weights - if self.load_weight is not None: + if self.load_weight is not None: sys.stderr.write("Load the pretrained weights for the model.\n") self.model.load_weights(self.load_weight) else: From 4f131e183c9b0c27b5e8732a62f27538d67aa6ba Mon Sep 17 00:00:00 2001 From: pichu Date: Sat, 7 Mar 2020 00:25:26 +0800 Subject: [PATCH 3/3] update for concatenate and LSTM User warning --- program/BasicModel.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/program/BasicModel.py b/program/BasicModel.py index 178e962..d137e23 100644 --- a/program/BasicModel.py +++ b/program/BasicModel.py @@ -12,7 +12,7 @@ import argparse from keras.preprocessing import sequence from keras.models import Sequential, Model -from keras.layers import Input, merge, Merge, Dense, Dropout, Activation, RepeatVector, Permute, Reshape, RepeatVector, Flatten +from keras.layers import Input, merge, Dense, Dropout, Activation, RepeatVector, Permute, Reshape, RepeatVector, Flatten, concatenate from keras.layers.convolutional import Convolution1D, MaxPooling1D, AveragePooling1D from keras.layers.embeddings import Embedding from keras.layers.recurrent import SimpleRNN, GRU, LSTM @@ -176,10 +176,10 @@ def build( self ): forward = GRU(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) backward = GRU(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation, go_backwards=True)(current) elif 'lstm' in self.arch: - forward = LSTM(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation)(current) - backward = LSTM(self.hidden_size, return_sequences=True, init=self.init_type, activation=self.activation, go_backwards=True)(current) + forward = LSTM(self.hidden_size, return_sequences=True, kernel_initializer=self.init_type, activation=self.activation)(current) + backward = LSTM(self.hidden_size, return_sequences=True, kernel_initializer=self.init_type, activation=self.activation, go_backwards=True)(current) if 'b' in self.arch: - tagger = merge([forward, backward], mode='concat') + tagger = concatenate([forward, backward]) else: tagger = forward if self.dropout: