Skip to content

Commit

Permalink
clean up
Browse files Browse the repository at this point in the history
  • Loading branch information
jon--lee committed Apr 24, 2018
1 parent 8e00eb2 commit 5e439af
Show file tree
Hide file tree
Showing 13 changed files with 251 additions and 565 deletions.
Binary file removed .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ results/
*.npy
gym/
*.swp

.DS_Store
142 changes: 20 additions & 122 deletions experiments/plot_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,140 +41,38 @@ def main():



# BC
bc_data = []

title = 'test_bc'
ptype = 'data_used'
params_bc = params.copy()
del params_bc['update'] # Updates are used in behavior cloning
c = next(color)
try:
means, sems = utils.extract_data(params_bc, iters, title, sub_dir, ptype)
bc_data.append(means)
except IOError:
pass


bc_data = np.array(bc_data)
bc_data = np.sum(bc_data[:, -1])

# DAgger B
betas = [.1, .3, .5, .7, .9]
colors = ['blue', 'red', 'black', 'pink', 'aqua']
dagger_b_data = []
for beta, c in zip(betas, colors):

title = 'test_dagger_b_beta' + str(beta)
ptype = 'data_used'
params_dagger_b = params.copy()
params_dagger_b['beta'] = beta # You may adjust the prior to whatever you chose.
# c = next(color)
try:
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
dagger_b_data.append(means)
except IOError:
pass

dagger_b_data = np.array(dagger_b_data)
dagger_b_data = np.sum(dagger_b_data[:, -1])


betas = [.1, .3, .5, .7, .9]
colors = ['blue', 'red', 'black', 'pink', 'aqua']
dagger_b_data2 = []
for beta, c in zip(betas, colors):

title = 'test_dagger_b2_beta' + str(beta)
ptype = 'data_used'
params_dagger_b = params.copy()
params_dagger_b['beta'] = beta # You may adjust the prior to whatever you chose.
# c = next(color)
try:
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
dagger_b_data2.append(means)
except IOError:
pass

dagger_b_data2 = np.array(dagger_b_data2)
dagger_b_data2 = np.sum(dagger_b_data2[:, -1])



parts = [5, 10, 50, 450]
dart_names = ['dart2_' + str(part) for part in parts]
parts = [5, 10, 50, 450][::-1]
dart_names = ['DART ' + str(part) for part in parts]
dart_data = []
dart_errs = []
for part in parts:
title = 'test_dart2'
title = 'test_dart'
ptype = 'data_used'
params_dart = params.copy()
params_dart['partition'] = part
try:
means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
dart_data.append(means[-1])
dart_errs.append(sems[-1])
except IOError:
pass




labels = ['BC', 'Dagger-b', 'Dagger-b2']
data = [bc_data, dagger_b_data, dagger_b_data2]
labels += dart_names
data += dart_data
plt.bar(labels, data)

IPython.embed()

# betas = [.5]
# colors = ['blue', 'red', 'black', 'pink', 'aqua']
# for beta, c in zip(betas, colors):

# title = 'test_dagger_b2_beta' + str(beta)
# ptype = 'reward'
# params_dagger_b = params.copy()
# params_dagger_b['beta'] = beta # You may adjust the prior to whatever you chose.
# # c = next(color)
# try:
# means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
# means, sems = normalize(means, sems)
# plt.plot(iters, means, color=c, label=title)
# plt.fill_between(iters, (means - sems), (means + sems), alpha=.3, color=c)
# except IOError:
# pass



# # DART
# title = 'test_dart'
# ptype = 'reward'
# params_dart = params.copy()
# c = next(color)
# try:
# means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
# means, sems = normalize(means, sems)
# plt.plot(iters, means, label='DART', color=c)
# plt.fill_between(iters, (means - sems), (means + sems), alpha=.3, color=c)
# except IOError:
# pass


# plt.title("Reward on " + str(params['envname']))
# plt.legend()
# plt.xticks(iters)
# plt.legend()
# if should_normalize:
# plt.ylim(0, 1.05)
# plt.yticks([0.0, 0.25, 0.5, 0.75, 1.0])

# save_path = 'images/'
# if not os.path.exists(save_path):
# os.makedirs(save_path)

# if should_save == True:
# plt.savefig(save_path + str(params['envname']) + "_reward.pdf")
# else:
# plt.show()
labels = dart_names
data = dart_data
errs = dart_errs
plt.bar(labels, data, yerr=errs)
plt.title(params['envname'][:-3])

save_path = 'images/'
if not os.path.exists(save_path):
os.makedirs(save_path)

if should_save == True:
plt.savefig(save_path + str(params['envname']) + "_data.pdf")
plt.savefig(save_path + "svg_" + str(params['envname']) + "_data.svg")
else:
plt.show()



Expand Down
113 changes: 113 additions & 0 deletions experiments/plot_data2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
import numpy as np
import os
import argparse
import pandas as pd
import scipy.stats
from tools import statistics, utils
import matplotlib.pyplot as plt
import itertools
marker = itertools.cycle((',', '+', '.', 'o', '*', 's'))
color = itertools.cycle(( "#FCB716", "#2D3956", "#A0B2D8", "#988ED5", "#F68B20", 'purple'))
import IPython


def main():

# In the event that you change the sub_directory within results, change this to match it.
sub_dir = 'experts'

ap = argparse.ArgumentParser()
ap.add_argument('--envname', required=True)
ap.add_argument('--t', required=True, type=int)
ap.add_argument('--iters', required=True, type=int, nargs='+')
ap.add_argument('--update', required=True, nargs='+', type=int)
ap.add_argument('--save', action='store_true', default=False)
ap.add_argument('--normalize', action='store_true', default=False)

params = vars(ap.parse_args())
params['arch'] = [64, 64]
params['lr'] = .01
params['epochs'] = 100

should_save = params['save']
should_normalize = params['normalize']
del params['save']
del params['normalize']

plt.style.use('ggplot')

iters = params['iters']
ptype = 'data_used'


# DAgger B
betas = [.1, .3, .5, .7, .9]
colors = ['blue', 'red', 'black', 'pink', 'aqua']
dagger_b_data = []
dagger_b_sems = []
for beta, c in zip(betas, colors):

title = 'test_dagger_b'
ptype = 'data_used'
params_dagger_b = params.copy()
params_dagger_b['beta'] = beta # You may adjust the prior to whatever you chose.
try:
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
dagger_b_data.append(means)
dagger_b_sems.append(sems)
except IOError:
pass

dagger_b_data = np.array(dagger_b_data)
dagger_b_sems = np.array(dagger_b_sems)
dagger_b_data = np.sum(dagger_b_data[:, -1])
sems = dagger_b_sems[:, -1]
dagger_b_sem = np.sqrt(np.sum(sems ** 2.0))



parts = [10]
dart_names = ['DART ' + str(part) for part in parts]
dart_data = []
dart_sem = []
for part in parts:
title = 'test_dart'
ptype = 'data_used'
params_dart = params.copy()
params_dart['partition'] = part
try:
means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
dart_data.append(means[-1])
dart_sem.append(sems[-1])

except IOError:
pass




labels = ['Dagger-B']
data = [dagger_b_data]
errs = [dagger_b_sem]
labels = labels + dart_names
data = data + dart_data
errs = errs + dart_sem
plt.bar(labels, data, yerr=errs)
plt.title(params['envname'][:-3])

save_path = 'images/'
if not os.path.exists(save_path):
os.makedirs(save_path)

if should_save == True:
plt.savefig(save_path + str(params['envname']) + "_data2.pdf")
plt.savefig(save_path + "svg_" + str(params['envname']) + "_data2.svg")
else:
plt.show()



if __name__ == '__main__':
main()


58 changes: 21 additions & 37 deletions experiments/plot_loss.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import matplotlib.pyplot as plt
import itertools
marker = itertools.cycle((',', '+', '.', 'o', '*', 's'))
color = itertools.cycle(( "#FCB716", "#2D3956", "#A0B2D8", "#988ED5", "#F68B20", "purple"))
color = itertools.cycle(( "#FCB716", "#2D3956", "#A0B2D8", "#988ED5", "#F68B20"))



Expand Down Expand Up @@ -57,6 +57,7 @@ def main():


# DAgger
beta = .5
title = 'test_dagger'
ptype = 'sup_loss'
params_dagger = params.copy()
Expand All @@ -76,25 +77,22 @@ def main():


# DAgger B
betas = [.1, .3, .5, .7, .9]
colors = ['blue', 'red', 'black', 'pink', 'aqua']
for beta, c in zip(betas, colors):

title = 'test_dagger_b_beta' + str(beta)
ptype = 'sup_loss'
params_dagger_b = params.copy()
params_dagger_b['beta'] = beta # You may adjust the prior to whatever you chose.
# c = next(color)
try:
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
plt.plot(iters, means, color=c, linestyle='--')

ptype = 'surr_loss'
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
plt.plot(iters, means, label='DAgger-B', color=c)
plt.fill_between(iters, (means - sems), (means + sems), alpha=.3, color=c)
except IOError:
pass
beta = .5
title = 'test_dagger_b'
ptype = 'sup_loss'
params_dagger_b = params.copy()
params_dagger_b['beta'] = beta # You may adjust the prior to whatever you chose.
c = next(color)
try:
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
plt.plot(iters, means, color=c, linestyle='--')

ptype = 'surr_loss'
means, sems = utils.extract_data(params_dagger_b, iters, title, sub_dir, ptype)
plt.plot(iters, means, label='DAgger-B', color=c)
plt.fill_between(iters, (means - sems), (means + sems), alpha=.3, color=c)
except IOError:
pass


# Isotropic noise
Expand All @@ -118,38 +116,24 @@ def main():


# DART
partition = 450
title = 'test_dart'
ptype = 'sup_loss'
params_dart = params.copy()
params_dart['partition'] = partition
c = next(color)
try:
means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
plt.plot(iters, means, color=c, linestyle='--')

ptype = 'surr_loss'
means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
plt.plot(iters, means, label='DART', color=c)
plt.plot(iters, means, label='DART ' + str(partition), color=c)
plt.fill_between(iters, (means - sems), (means + sems), alpha=.3, color=c)
except IOError:
pass


# DART
title = 'test_dart2'
ptype = 'sup_loss'
params_dart = params.copy()
c = next(color)
try:
means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
plt.plot(iters, means, color=c, linestyle='--')

ptype = 'surr_loss'
means, sems = utils.extract_data(params_dart, iters, title, sub_dir, ptype)
plt.plot(iters, means, label='DART2', color=c)
plt.fill_between(iters, (means - sems), (means + sems), alpha=.3, color=c)
except IOError:
pass


plt.title("Loss on " + str(params['envname']))
plt.legend()
Expand Down
3 changes: 1 addition & 2 deletions experiments/plot_loss_rand.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def main():
params = vars(ap.parse_args())
params['arch'] = [64, 64]
params['lr'] = .01
params['epochs'] = 50
params['epochs'] = 100

should_save = params['save']
del params['save']
Expand Down Expand Up @@ -83,7 +83,6 @@ def main():


plt.title("Loss on " + str(params['envname']))
plt.legend()
plt.xticks(iters)
plt.legend(loc='upper right')

Expand Down
Loading

0 comments on commit 5e439af

Please sign in to comment.