import numpy as np import pandas as pd import os from mr.datasets.tower import StanfordTower as st from mr.datasets.common import ImageSet from mr.datasets.imageDataset import ImageDataset import matplotlib.image as img import matplotlib.pyplot as plt folder = "/stash/tlab/datasets/Tower/dev_test" ## Initialize class and read annotation file train_csv = os.path.join(folder, "train") test_csv = os.path.join(folder, "test") t = st(30, ["ims"], ["ims"], train_csv, test_csv) train, test, vp = t.split() # df = t.read_file(folder) """ ## Make sure I understand how to use ImageDataset expected = os.listdir(folder + '/ims') expected.sort() vid = ImageDataset(folder + '/ims', expected) imgs = vid.resize(177, 100).split(0, noLabels=True)[0][0] img.imsave(folder + '/test000000.png', imgs[0].reshape(100, 177, 3)) img.imsave(folder + '/test000001.png', imgs[1].reshape(100, 177, 3)) """ """
from mr.learn.supervised.perceptron import Perceptron folder = '/stash/tlab/datasets/Tower' file_pre = 'Neovision2-Training-Tower-' w_new = 20 tau = 1 train_folders = ['1', '2', '3', '4', '5'] test_folders = ['13', '14'] """pickle_data = (model, model2, vp, xP, y)""" pickle_file = open('model_28.p', 'rb') pickle_data = pickle.load(pickle_file) pickle_file.close() model, model2, vp, xP, y = pickle_data model2 = TowerScaffold() videos_to_train = [os.path.join(folder, 'dev_test', 'train2', 'ims')] videos_to_test = [os.path.join(folder, 'dev_test', 'test2', 'ims')] train_csv = [os.path.join(folder, 'dev_test', 'train2', 'train.csv')] test_csv = [os.path.join(folder, 'dev_test', 'test2', 'train.csv')] t = st(vp[0], videos_to_train, videos_to_test, train_csv, test_csv) dices = model2._get_Dices(xP, y, 5) fig = model2.plot_Dices(dices, t.classes) plt.show()
file_pre + str(i).zfill(3)) for i in train_folders] videos_to_test = [os.path.join(folder, 'test', i, file_pre + str(i).zfill(3)) for i in test_folders] train_csv = [os.path.join(folder, 'train', i, file_pre + str(i).zfill(3) + '.csv') for i in train_folders] test_csv = [os.path.join(folder, 'test', i, file_pre + str(i).zfill(3) + '.csv') for i in test_folders] ''' ## Initialize class and read annotation file start = datetime.datetime.now() print ("Loading video data") t = st(w_new, videos_to_train, videos_to_test, train_csv, test_csv, tau) print("Start Split!!!!") train, test, vp = t.split() stop = datetime.datetime.now() print ("Total min to load: {}\n\n".format((stop-start).total_seconds() / 60)) pre_labs = t.masks[0][0].flatten() post_labs = train[1][0] print ("Pre labels:\nCount 1's = {}\nMin = {}\nMax = {}\nMean = {}\n".format( np.sum(pre_labs), pre_labs.min(), pre_labs.max(), pre_labs.mean())) print ("Post labels:\nCount > 0 = {}\nMin = {}\nMax = {}\nMean = {}\n".format( np.sum(post_labs > 0), post_labs.min(), post_labs.max(), post_labs.mean()))
from mr.learn.supervised.perceptron import Perceptron import matplotlib.image as img import matplotlib.pyplot as plt from PIL import Image import datetime import pickle ## The lines below are a hacky way to set up the data ## Using 70 x 40 size folder = '/stash/tlab/datasets/Tower' file_pre = 'Neovision2-Training-Tower-' videos_to_train = [os.path.join(folder, 'dev_test', 'train2', 'ims')] videos_to_test = [os.path.join(folder, 'dev_test', 'test2', 'ims')] train_csv = [os.path.join(folder, 'dev_test', 'train2', 'train.csv')] test_csv = [os.path.join(folder, 'dev_test', 'test2', 'train.csv')] t = st(6, videos_to_train, videos_to_test, train_csv, test_csv) apath1 = os.path.join(folder, 'test', '13', 'Neovision2-Training-Tower-013') apath2 = os.path.join(folder, 'test', '14', 'Neovision2-Training-Tower-014') test_files1 = [os.path.join(apath1, i) for i in natsorted(os.listdir(apath1))] test_files2 = [os.path.join(apath2, i) for i in natsorted(os.listdir(apath2))] test_files = test_files1 + test_files2 ## Unpickle data and run program to save images, masks, predictions, and dice plot print ("Unpickling...") pickle_file = open("/u/jc2/dev/jc2/cnn/model_70.p", 'rb') model, model2, vp, xP, y = pickle.load(pickle_file) dice = model2._get_Dices(xP, y, len(t.classes)) pickle_file.close()