In [1]:
import pickle
In [2]:
clas_prune_index = pickle.load(open('activations_res/sorted_index.pkl','r'))
In [3]:
for key, value in clas_prune_index.items():
print key
In [4]:
import random
random.seed(100) # 100,500,9000
In [5]:
num_featuremaps = [64,64,128,128,256,256,256,512,512,512,512,512,512]
In [6]:
random_prune_index = {}
for index, feature_map in enumerate(num_featuremaps):
temp_list = range(feature_map)
random.shuffle(temp_list)
random_prune_index['%dth_acts'%(index+1)] = temp_list
In [7]:
for key, value in random_prune_index.items():
print key
In [8]:
listA=clas_prune_index['10th_acts'][:256]
In [9]:
listB=random_prune_index['10th_acts'][:256]
In [10]:
len(set(listA)&set(listB)) / float(len(set(listA) | set(listB))) * 100 # random seed 100
Out[10]:
In [15]:
common_featuremaps = set(listA)&set(listB)
In [16]:
print len(common_featuremaps)
In [17]:
random_and_clas = common_featuremaps&set(listA[:126])
In [18]:
print len(random_and_clas)
In [19]:
print common_featuremaps
In [20]:
print listA
In [21]:
print len(listA)
In [22]:
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
In [23]:
activation_method = np.ones([256,100],np.float32)
for index,a in enumerate(listA):
if a in common_featuremaps:
activation_method[index] = 0
print activation_method.shape
plt.imshow(activation_method,'gray')
Out[23]:
In [24]:
random.seed(300) # best results
random_prune_index = {}
for index, feature_map in enumerate(num_featuremaps):
temp_list = range(feature_map)
random.shuffle(temp_list)
random_prune_index['%dth_acts'%(index+1)] = temp_list
listA=clas_prune_index['10th_acts'][:256]
listB=random_prune_index['10th_acts'][:256]
common_featuremaps = set(listA)&set(listB)
activation_method = np.ones([256,100],np.float32)
for index,a in enumerate(listA):
if a in common_featuremaps:
activation_method[index] = 0
print activation_method.shape
plt.imshow(activation_method,'gray')
Out[24]:
In [25]:
random.seed(100) # worst results
random_prune_index = {}
for index, feature_map in enumerate(num_featuremaps):
temp_list = range(feature_map)
random.shuffle(temp_list)
random_prune_index['%dth_acts'%(index+1)] = temp_list
listA=clas_prune_index['10th_acts'][:256]
listB=random_prune_index['10th_acts'][:256]
common_featuremaps = set(listA)&set(listB)
activation_method = np.ones([256,100],np.float32)
for index,a in enumerate(listA):
if a in common_featuremaps:
activation_method[index] = 0
print activation_method.shape
plt.imshow(activation_method,'gray')
Out[25]:
In [35]:
random.seed(300) # worst results
random_prune_index = {}
for index, feature_map in enumerate(num_featuremaps):
temp_list = range(feature_map)
random.shuffle(temp_list)
random_prune_index['%dth_acts'%(index+1)] = temp_list
listA=clas_prune_index['10th_acts'][:256]
listB=random_prune_index['10th_acts'][:256]
common_featuremaps = set(listA)&set(listB)
activation_method = np.ones([256,100],np.float32)
for index,a in enumerate(listA):
if a in common_featuremaps:
activation_method[index] = 0
print activation_method.shape
plt.imshow(activation_method,'gray')
Out[35]:
In [33]:
random.seed(100) # 100,500,9000
for index,i in enumerate([100,600,900]):
random.seed(i)
random_prune_index = {}
for index, feature_map in enumerate(num_featuremaps):
temp_list = range(feature_map)
random.shuffle(temp_list)
random_prune_index['%dth_acts'%(index+1)] = temp_list
listA=clas_prune_index['10th_acts'][:256]
listB=random_prune_index['10th_acts'][:256]
common_featuremaps = set(listA)&set(listB)
activation_method = np.ones([256,100],np.float32)
for index,a in enumerate(listA):
if a in common_featuremaps:
activation_method[index] = 0
print activation_method.shape
# plt.subplot(1,3,index)
plt.imshow(activation_method,'gray')
plt.show()
In [34]:
for index,i in enumerate([200,300,400,500,700,800]):
random.seed(i)
random_prune_index = {}
for index, feature_map in enumerate(num_featuremaps):
temp_list = range(feature_map)
random.shuffle(temp_list)
random_prune_index['%dth_acts'%(index+1)] = temp_list
listA=clas_prune_index['10th_acts'][:256]
listB=random_prune_index['10th_acts'][:256]
common_featuremaps = set(listA)&set(listB)
activation_method = np.ones([256,100],np.float32)
for index,a in enumerate(listA):
if a in common_featuremaps:
activation_method[index] = 0
print activation_method.shape
# plt.subplot(1,3,index)
plt.imshow(activation_method,'gray')
plt.show()
In [ ]: