Commit 8f8e2c7a authored by Rudolf Chrispens's avatar Rudolf Chrispens
Browse files

fixed json creaton bug

parent 32608707
Loading
Loading
Loading
Loading
+10 −7

File changed.

Preview size limit exceeded, changes collapsed.

+8 −5
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import numpy as np
from scipy import ndimage
from lstm.configuration import current as _config
import json
import pickle

class coco_validator(object):
    def __init__(self, trained_model, modelpath, batch_size_of_trained_model):
@@ -33,12 +34,12 @@ class coco_validator(object):
        #TODO rework
        with open(path, 'wb') as f:
            pickle.dump(data, f, pickle.HIGHEST_PROTOCOL)
            print ('#> Validator: Saved %s..' %path)
            print (f'#> Validator: Saved Pickle {path}')

    def save_json(self, data, path):
        with open(path, 'w') as fp:
            json.dump(data, fp)
            print (f'#> Validator: Saved {path}')
            print (f'#> Validator: Saved Json {path}')

    def test(self, data, current_reader, split='train', attention_visualization=True, save_sampled_captions=True):
        '''
@@ -144,6 +145,7 @@ class coco_validator(object):

            if save_sampled_captions:
                num_iter = int(np.ceil(features.shape[0] / self.batch_size)) - self.batch_size
                print(features.shape)
                all_sam_cap = np.ndarray((features.shape[0], 20))
                print("all_sam_cap.shape: ", all_sam_cap.shape)

@@ -161,8 +163,7 @@ class coco_validator(object):
                    print(f"Input shape: {temp.shape} vs  {left_side}:{right_side}")

                    all_sam_cap[left_side:right_side] = temp
                    if i % 20 == 0:
                        print("#> Validator Batch iteration:" + str(i) + " from max: " + str(num_iter))
                    print(f"#> Validator Batch iteration: {i} from max: {num_iter} - {left_side}:{right_side}")
                        # print("\t#> all_samp_cap: " + str(i) + "\n", current_reader.decode_captions_2(all_sam_cap[i * self.batch_size - self.batch_size:i * self.batch_size], self.model.idx_to_word))

                all_decoded = current_reader.decode_captions_2(all_sam_cap[:num_iter * self.batch_size], self.model.idx_to_word, abbort_at_end=True)
@@ -173,10 +174,12 @@ class coco_validator(object):
                    os.makedirs(path)
                captionlist_for_eval = []


                for numb, caption in enumerate(all_decoded):
                    if i % 5 == 0:
                    if numb % 5 == 0:
                        captionlist_for_eval.append({'caption': ' '.join(caption), 'image_id': int(image_idxs[numb]), 'image_name': data['file_names'][numb]})

                self.save_pickle(captionlist_for_eval, path + split + ".candidate.captions.pickle")
                self.save_json(captionlist_for_eval, path + split + ".candidate.captions.json")

+2 −2
Original line number Diff line number Diff line
@@ -77,9 +77,9 @@ class current(default_reader, default_validator, default_trainer, default_paths)
    reader.verbose = False

    validator.validator_on = True
    validator.show_attention = True
    validator.show_attention = False
    validator.verbose = True
    validator.max_iteration = 1
    # validator.max_iteration = 5

    trainer.train_on = False
    trainer.verbose = False
+10 −1
Original line number Diff line number Diff line
import lstm

import pickle
#clear console
#print("\033c")

"""
pickle_file = []
path = "/Users/rudolfchrispens/Documents/GIT/Show-and-tell/caption_lib/lstm/../../image_data/../Captions_Samples/val.candidate.captions.pickle"
with open(path, 'rb') as f:
    file = pickle.load(f)
    print (f"test load pickle {path}")
    pickle_file = file
"""

#start proj
lstm.lstm_main.main("Start", None)