Пример #1
0
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))
"""

"""
Пример #2
0
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()
Пример #3
0
                            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()))



Пример #4
0
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()