Loading caption-lib/.vscode/launch.json 0 → 100644 +123 −0 Original line number Diff line number Diff line { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}" }, { "name": "Python: START.py", "type": "python", "request": "launch", "program": "${workspaceFolder}/start.py" }, { "name": "Python: Attach", "type": "python", "request": "attach", "localRoot": "${workspaceFolder}", "remoteRoot": "${workspaceFolder}", "port": 3000, "secret": "my_secret", "host": "localhost" }, { "name": "Python: Terminal (integrated)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" }, { "name": "Python: Terminal (external)", "type": "python", "request": "launch", "program": "${file}", "console": "externalTerminal" }, { "name": "Python: Django", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": [ "runserver", "--noreload", "--nothreading" ], "debugOptions": [ "RedirectOutput", "Django" ] }, { "name": "Python: Flask (0.11.x or later)", "type": "python", "request": "launch", "module": "flask", "env": { "FLASK_APP": "${workspaceFolder}/app.py" }, "args": [ "run", "--no-debugger", "--no-reload" ] }, { "name": "Python: Module", "type": "python", "request": "launch", "module": "module.name" }, { "name": "Python: Pyramid", "type": "python", "request": "launch", "args": [ "${workspaceFolder}/development.ini" ], "debugOptions": [ "RedirectOutput", "Pyramid" ] }, { "name": "Python: Watson", "type": "python", "request": "launch", "program": "${workspaceFolder}/console.py", "args": [ "dev", "runserver", "--noreload=True" ] }, { "name": "Python: All debug Options", "type": "python", "request": "launch", "pythonPath": "${config:python.pythonPath}", "program": "${file}", "module": "module.name", "env": { "VAR1": "1", "VAR2": "2" }, "envFile": "${workspaceFolder}/.env", "args": [ "arg1", "arg2" ], "debugOptions": [ "RedirectOutput" ] } ] } No newline at end of file caption-lib/lstm/Readers/__init__.py +2 −0 Original line number Diff line number Diff line # reader init from .basic_text_reader import basic_text_reader from .basic_text_reader import get_words_as_int from .basic_text_reader import get_integers_as_words from .basic_masa_reader import basic_masa_reader from .helper import get_input_data from .helper import get_vocabulary Loading caption-lib/lstm/Readers/basic_text_reader.py +35 −2 Original line number Diff line number Diff line Loading @@ -2,10 +2,11 @@ from lstm.configuration import current as config import collections import tensorflow as tf import json as jsonlib import os from datetime import datetime from lstm.Readers import helper import tensorflow as tf parent_folder_path = os.path.dirname(__file__) + "/.." inputPath = parent_folder_path + config.path.input_folder_path Loading Loading @@ -49,7 +50,11 @@ def read_input(filename): ''' Create sequences and save them ''' example: batches = [ [['You', 'can', 'see', 'a', 'cat', '<EOS>'], ['You', 'can', 'see', 'a', 'dog', 'on', 'a', 'table', '<EOS>']] [['You', 'can', 'see', 'a', 'girafe', 'on', 'a', 'table', '<EOS>'], ['You', 'see', 'a', 'hotdog', '<EOS>']] ]''' def create_sequences(filename): with open(inputPath + filename,"r") as file: text=file.read() Loading Loading @@ -114,3 +119,31 @@ def save_vocabulary(data, filename): if(config.reader.verbose): print("Reader:: Saved vocabulary at:", filename) print("[" + str(datetime.now().time()) + "]" + "Reader:: ...Finished saving vocabulary!") ''' revert text input list [x, y, z] to int list with vocab dict [23, 2342, 123] ''' def get_words_as_int(sequence_list, filename): # print("Words to Integers") # print("input: ", sequence_list) vocab = helper.get_vocabulary(filename) # print("vocab: ", vocab) sequence = [vocab[word] for word in sequence_list if word in vocab] # print("output: ", sequence) return sequence ''' revert int list of words [23,2342,123] to string list with vocab dict [x, y, z] ''' def get_integers_as_words(sequence_list, filename): # print("Integers to Words") # print("input: ", sequence_list) vocab = helper.get_vocabulary(filename) # print("vocab: ", vocab) id2word = {i: c for (c, i) in vocab.items()} # print("vocab rewersed: ", id2word) sequence = [id2word[integer_id] for integer_id in sequence_list if integer_id in id2word] # print("output: ", sequence) return sequence caption-lib/lstm/configuration.py +8 −5 Original line number Diff line number Diff line Loading @@ -32,17 +32,19 @@ class default_validator(object): class default_trainer(object): train_on = True verbose = False padding = 0 end_of_sentence = 1 vocab_size = 10 # a word size input_embedding_size = 20 # length of the charater encoder_hidden_units = 20 decoder_hidden_units = encoder_hidden_units * 2 max_batches = 300 max_batches = 2 batches_in_epoch = 10 batch_size = 10 PAD = 0 EOS = 1 batch_size = 2 sequence_size = 9 PAD = "" EOS = '<EOS>' ''' Loading @@ -61,4 +63,5 @@ class current(default_reader, default_validator, default_trainer, default_paths) reader.reader_on = False reader.verbose = False validator.validator_on = False trainer.train_on = True trainer.train_on = False trainer.verbose = True caption-lib/lstm/helpers.py +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ def batch(inputs, max_sequence_length=None): if max_sequence_length is None: max_sequence_length = max(sequence_lengths) inputs_batch_major = np.zeros(shape=[batch_size, max_sequence_length], dtype=np.int32) # == PAD inputs_batch_major = np.array([[None] * max_sequence_length] * batch_size) # == PAD for i, seq in enumerate(inputs): for j, element in enumerate(seq): Loading Loading
caption-lib/.vscode/launch.json 0 → 100644 +123 −0 Original line number Diff line number Diff line { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}" }, { "name": "Python: START.py", "type": "python", "request": "launch", "program": "${workspaceFolder}/start.py" }, { "name": "Python: Attach", "type": "python", "request": "attach", "localRoot": "${workspaceFolder}", "remoteRoot": "${workspaceFolder}", "port": 3000, "secret": "my_secret", "host": "localhost" }, { "name": "Python: Terminal (integrated)", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" }, { "name": "Python: Terminal (external)", "type": "python", "request": "launch", "program": "${file}", "console": "externalTerminal" }, { "name": "Python: Django", "type": "python", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": [ "runserver", "--noreload", "--nothreading" ], "debugOptions": [ "RedirectOutput", "Django" ] }, { "name": "Python: Flask (0.11.x or later)", "type": "python", "request": "launch", "module": "flask", "env": { "FLASK_APP": "${workspaceFolder}/app.py" }, "args": [ "run", "--no-debugger", "--no-reload" ] }, { "name": "Python: Module", "type": "python", "request": "launch", "module": "module.name" }, { "name": "Python: Pyramid", "type": "python", "request": "launch", "args": [ "${workspaceFolder}/development.ini" ], "debugOptions": [ "RedirectOutput", "Pyramid" ] }, { "name": "Python: Watson", "type": "python", "request": "launch", "program": "${workspaceFolder}/console.py", "args": [ "dev", "runserver", "--noreload=True" ] }, { "name": "Python: All debug Options", "type": "python", "request": "launch", "pythonPath": "${config:python.pythonPath}", "program": "${file}", "module": "module.name", "env": { "VAR1": "1", "VAR2": "2" }, "envFile": "${workspaceFolder}/.env", "args": [ "arg1", "arg2" ], "debugOptions": [ "RedirectOutput" ] } ] } No newline at end of file
caption-lib/lstm/Readers/__init__.py +2 −0 Original line number Diff line number Diff line # reader init from .basic_text_reader import basic_text_reader from .basic_text_reader import get_words_as_int from .basic_text_reader import get_integers_as_words from .basic_masa_reader import basic_masa_reader from .helper import get_input_data from .helper import get_vocabulary Loading
caption-lib/lstm/Readers/basic_text_reader.py +35 −2 Original line number Diff line number Diff line Loading @@ -2,10 +2,11 @@ from lstm.configuration import current as config import collections import tensorflow as tf import json as jsonlib import os from datetime import datetime from lstm.Readers import helper import tensorflow as tf parent_folder_path = os.path.dirname(__file__) + "/.." inputPath = parent_folder_path + config.path.input_folder_path Loading Loading @@ -49,7 +50,11 @@ def read_input(filename): ''' Create sequences and save them ''' example: batches = [ [['You', 'can', 'see', 'a', 'cat', '<EOS>'], ['You', 'can', 'see', 'a', 'dog', 'on', 'a', 'table', '<EOS>']] [['You', 'can', 'see', 'a', 'girafe', 'on', 'a', 'table', '<EOS>'], ['You', 'see', 'a', 'hotdog', '<EOS>']] ]''' def create_sequences(filename): with open(inputPath + filename,"r") as file: text=file.read() Loading Loading @@ -114,3 +119,31 @@ def save_vocabulary(data, filename): if(config.reader.verbose): print("Reader:: Saved vocabulary at:", filename) print("[" + str(datetime.now().time()) + "]" + "Reader:: ...Finished saving vocabulary!") ''' revert text input list [x, y, z] to int list with vocab dict [23, 2342, 123] ''' def get_words_as_int(sequence_list, filename): # print("Words to Integers") # print("input: ", sequence_list) vocab = helper.get_vocabulary(filename) # print("vocab: ", vocab) sequence = [vocab[word] for word in sequence_list if word in vocab] # print("output: ", sequence) return sequence ''' revert int list of words [23,2342,123] to string list with vocab dict [x, y, z] ''' def get_integers_as_words(sequence_list, filename): # print("Integers to Words") # print("input: ", sequence_list) vocab = helper.get_vocabulary(filename) # print("vocab: ", vocab) id2word = {i: c for (c, i) in vocab.items()} # print("vocab rewersed: ", id2word) sequence = [id2word[integer_id] for integer_id in sequence_list if integer_id in id2word] # print("output: ", sequence) return sequence
caption-lib/lstm/configuration.py +8 −5 Original line number Diff line number Diff line Loading @@ -32,17 +32,19 @@ class default_validator(object): class default_trainer(object): train_on = True verbose = False padding = 0 end_of_sentence = 1 vocab_size = 10 # a word size input_embedding_size = 20 # length of the charater encoder_hidden_units = 20 decoder_hidden_units = encoder_hidden_units * 2 max_batches = 300 max_batches = 2 batches_in_epoch = 10 batch_size = 10 PAD = 0 EOS = 1 batch_size = 2 sequence_size = 9 PAD = "" EOS = '<EOS>' ''' Loading @@ -61,4 +63,5 @@ class current(default_reader, default_validator, default_trainer, default_paths) reader.reader_on = False reader.verbose = False validator.validator_on = False trainer.train_on = True trainer.train_on = False trainer.verbose = True
caption-lib/lstm/helpers.py +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ def batch(inputs, max_sequence_length=None): if max_sequence_length is None: max_sequence_length = max(sequence_lengths) inputs_batch_major = np.zeros(shape=[batch_size, max_sequence_length], dtype=np.int32) # == PAD inputs_batch_major = np.array([[None] * max_sequence_length] * batch_size) # == PAD for i, seq in enumerate(inputs): for j, element in enumerate(seq): Loading