def _load_model_from_stream(self, f): super(KMeansLayer, self)._load_model_from_stream(f) K = self.n_oc D = self.n_ic * self.ksize * self.ksize self.C = gnp.garray(np.fromstring(f.read(4*K*D), dtype=np.float32).reshape( self.n_oc, self.n_ic*self.ksize*self.ksize)) dist_name_len = struct.unpack('i', f.read(4))[0] self.dist = f.read(dist_name_len) self.f_dist = clust.choose_distance_metric(self.dist)
def _load_model_from_stream(self, f): super(KMeansLayer, self)._load_model_from_stream(f) K = self.n_oc D = self.n_ic * self.ksize * self.ksize self.C = gnp.garray( np.fromstring(f.read(4 * K * D), dtype=np.float32).reshape( self.n_oc, self.n_ic * self.ksize * self.ksize)) dist_name_len = struct.unpack('i', f.read(4))[0] self.dist = f.read(dist_name_len) self.f_dist = clust.choose_distance_metric(self.dist)
def __init__(self, kmeans_model=None, stride=2): """ kmeans_model: instance of KMeansModel, contains attributes (C, dist, nc, ksize, prep) """ if kmeans_model is None: return self.C = gnp.as_garray(kmeans_model.C) dist = kmeans_model.dist n_ic = kmeans_model.nc n_oc = kmeans_model.C.shape[0] ksize = kmeans_model.ksize prep = kmeans_model.prep super(KMeansLayer, self).__init__(n_ic=n_ic, n_oc=n_oc, ksize=ksize, stride=stride, prep=prep) assert self.C.shape[1] == ksize*ksize*n_ic self.f_dist = clust.choose_distance_metric(dist) self.dist = dist
def __init__(self, kmeans_model=None, stride=2): """ kmeans_model: instance of KMeansModel, contains attributes (C, dist, nc, ksize, prep) """ if kmeans_model is None: return self.C = gnp.as_garray(kmeans_model.C) dist = kmeans_model.dist n_ic = kmeans_model.nc n_oc = kmeans_model.C.shape[0] ksize = kmeans_model.ksize prep = kmeans_model.prep super(KMeansLayer, self).__init__(n_ic=n_ic, n_oc=n_oc, ksize=ksize, stride=stride, prep=prep) assert self.C.shape[1] == ksize * ksize * n_ic self.f_dist = clust.choose_distance_metric(dist) self.dist = dist