Python scipy.stats.truncnorm() Examples
The following are 30
code examples of scipy.stats.truncnorm().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
scipy.stats
, or try the search function
.
Example #1
Source File: track.py From ocelot with GNU General Public License v3.0 | 6 votes |
def ellipse_track_list(beam, n_t_sigma = 3, num = 1000, type = "contour"): beam.sizes() #sigma_x = sqrt((sigma_e*tws0.Dx)**2 + emit*tws0.beta_x) #sigma_xp = sqrt((sigma_e*tws0.Dxp)**2 + emit*tws0.gamma_x) if type == "contour": t = np.linspace(0,2*pi, num) x = n_t_sigma*beam.sigma_x*np.cos(t) y = n_t_sigma*beam.sigma_xp*np.sin(t) else: x = truncnorm( -n_t_sigma, n_t_sigma, loc=0, scale=beam.sigma_x).rvs(num) y = truncnorm( -n_t_sigma, n_t_sigma, loc=0, scale=beam.sigma_xp).rvs(num) tws0 = Twiss(beam) x_array, xp_array = phase_space_transform(x,y, tws0) track_list = [] for x,y in zip(x_array + beam.x, xp_array + beam.xp): p = Particle(x = x, px = y, p=-0.0) pxy = Track_info(p, x, y) track_list.append(pxy) return track_list
Example #2
Source File: data_utils.py From Conditional-GAN with MIT License | 6 votes |
def __init__(self, img_feat, tags_idx, a_tags_idx, test_tags_idx, z_dim, vocab_processor): self.z_sampler = stats.truncnorm((-1 - 0.) / 1., (1 - 0.) / 1., loc=0., scale=1) self.length = len(tags_idx) self.current = 0 self.img_feat = img_feat self.tags_idx = tags_idx self.a_tags_idx = a_tags_idx self.w_idx = np.arange(self.length) self.w_idx2 = np.arange(self.length) self.tmp = 0 self.epoch = 0 self.vocab_processor = vocab_processor self.vocab_size = len(vocab_processor._reverse_mapping) self.unk_id = vocab_processor._mapping['<UNK>'] self.eos_id = vocab_processor._mapping['<EOS>'] self.hair_id = vocab_processor._mapping['hair'] self.eyes_id = vocab_processor._mapping['eyes'] self.gen_info() self.test_tags_idx = self.gen_test_hot(test_tags_idx) self.fixed_z = self.next_noise_batch(len(self.test_tags_idx), z_dim) idx = np.random.permutation(np.arange(self.length)) self.w_idx2 = self.w_idx2[idx]
Example #3
Source File: attack.py From robust_physical_perturbations with MIT License | 6 votes |
def _get_dest_points(self, shape): n = shape[0] img_rows = shape[-3] img_cols = shape[-2] # source points src = [[[0,0],[0,img_cols],[img_rows,0],[img_rows,img_cols]] for _ in range(n)] if self.just_apply_noise: return src import scipy.stats as stats lower, upper = -img_rows/3, img_rows/3 mu, sigma = FLAGS.transform_mean, FLAGS.transform_stddev X = stats.truncnorm( (lower - mu) / sigma, (upper - mu) / sigma, loc=mu, scale=sigma) # we will add this to the source points, i.e. these are random offsets # random = np.random.normal(FLAGS.transform_mean, FLAGS.transform_stddev, (n, 4, 2)) random = X.rvs((n, 4, 2)) return src + random
Example #4
Source File: attention_ocr.py From attention-ocr with MIT License | 6 votes |
def __init__(self): super(MyIncept, self).__init__() self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.numel())) values = values.view(m.weight.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #5
Source File: preprocess.py From castor with Apache License 2.0 | 6 votes |
def discrete_tnorm(a, b, tgt_loc, sigma=1, n_steps=100): def phi(zeta): return 1 / (np.sqrt(2 * np.pi)) * np.exp(-0.5 * zeta**2) def Phi(x): return 0.5 * (1 + erf(x / np.sqrt(2))) def tgt_loc_update(x): y1 = phi((a - x) / sigma) y2 = phi((b - x) / sigma) x1 = Phi((b - x) / sigma) x2 = Phi((a - x) / sigma) denom = x1 - x2 + 1E-4 return y1 / denom - y2 / denom x = tgt_loc direction = np.sign(tgt_loc - (b - a)) for _ in range(n_steps): x = tgt_loc - sigma * tgt_loc_update(x) tn = truncnorm((a - x) / sigma, (b - x) / sigma, loc=x, scale=sigma) rrange = np.arange(a, b + 1) pmf = tn.pdf(rrange) pmf /= np.sum(pmf) return pmf
Example #6
Source File: estimation.py From scikit-hubness with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _calc_skewness_truncnorm(k_occurrence: np.ndarray) -> float: """ Hubness measure; corrected for non-negativity of k-occurrence. Hubness as skewness of truncated normal distribution estimated from k-occurrence histogram. Parameters ---------- k_occurrence: ndarray Reverse nearest neighbor count for each object. """ clip_left = 0 clip_right = np.iinfo(np.int64).max k_occurrence_mean = k_occurrence.mean() k_occurrence_std = k_occurrence.std(ddof=1) a = (clip_left - k_occurrence_mean) / k_occurrence_std b = (clip_right - k_occurrence_mean) / k_occurrence_std skew_truncnorm = stats.truncnorm(a, b).moment(3) return skew_truncnorm
Example #7
Source File: truncated_gaussian.py From Effective-Quadratures with GNU Lesser General Public License v2.1 | 6 votes |
def __init__(self, mean, variance, lower, upper): if (mean is not None) and (variance is not None) and (lower is not None) and (upper is not None): meanParent = mean varianceParent = variance self.std = Gaussian(mean = 0.0, variance = 1.0) self.parent = Gaussian(mean = meanParent, variance = varianceParent) self.lower = lower self.upper = upper self.skewness = 0.0 self.kurtosis = 0.0 self.bounds = np.array([-np.inf, np.inf]) self.beta = (self.upper - self.parent.mean)/np.sqrt(self.parent.variance) self.alpha = (self.lower - meanParent)/np.sqrt(varianceParent) self.x_range_for_pdf = np.linspace(self.lower, self.upper, RECURRENCE_PDF_SAMPLES) self.parents = truncnorm(a =self.alpha , b =self.beta, loc=meanParent, scale=np.sqrt(varianceParent)) self.mean = self.parents.mean() self.variance = self.parents.var() self.sigma = np.sqrt(self.variance)
Example #8
Source File: inception.py From LaSO with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __init__(self): super(Inception3SpatialAdapter_6e, self).__init__() self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.numel())) values = values.view(m.weight.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #9
Source File: inception.py From onnx-fb-universe with MIT License | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) m.weight.data.copy_(values.view_as(m.weight)) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #10
Source File: simulation.py From pax with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _truncated_gauss(my_mean, my_std, left_boundary, right_boundary): """NB: the mean & std are only used to fix the boundaries, this is still a standardized normal otherwise!""" return stats.truncnorm( (left_boundary - my_mean) / my_std, (right_boundary - my_mean) / my_std)
Example #11
Source File: simulation.py From pax with BSD 3-Clause "New" or "Revised" License | 5 votes |
def truncated_gauss_rvs(my_mean, my_std, left_boundary, right_boundary, n_rvs): """Get Gauss with specified mean and std, truncated to boundaries See http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.truncnorm.html """ if my_std != 0: return _truncated_gauss(my_mean, my_std, left_boundary, right_boundary).rvs(n_rvs) * my_std + my_mean else: print("improper STD for truncated Gaussian") return [my_mean] * n_rvs
Example #12
Source File: inception.py From mcnPyTorch with MIT License | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.maxPool1 = nn.MaxPool2d(kernel_size=3, stride=2) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.maxPool2 = nn.MaxPool2d(kernel_size=3, stride=2) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.avgpool = nn.AvgPool2d(kernel_size=8) self.dropout = nn.Dropout() self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #13
Source File: inception_bap.py From WS_DAN_PyTorch with MIT License | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False, num_parts=32): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) ### Mixed_6e output feature map if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768, attention=True,num_parts=num_parts) ### Mixed_7a output attention map self.bap = BAP() # self.Mixed_7b = InceptionE(1280) # self.Mixed_7c = InceptionE(2048) self.fc_new = nn.Linear(768*num_parts, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #14
Source File: inception.py From WS_DAN_PyTorch with MIT License | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #15
Source File: inception.py From pytorch-playground with MIT License | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.group1 = nn.Sequential( OrderedDict([ ('fc', nn.Linear(2048, num_classes)) ]) ) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) m.weight.data.copy_(values.reshape(m.weight.shape)) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #16
Source File: googlenet.py From PyTorch with MIT License | 5 votes |
def _initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats X = stats.truncnorm(-2, 2, scale=0.01) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #17
Source File: inceptionv3.py From Curls-Whey with Apache License 2.0 | 5 votes |
def __init__(self, num_classes=200, aux_logits=False, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3_ = BasicConv2d(3, 32, kernel_size=3, padding=1) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.last = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.numel())) values = values.view(m.weight.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #18
Source File: inception.py From finegan with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, num_classes=200, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.fc_new = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.numel())) values = values.view(m.weight.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #19
Source File: inception.py From awesome_cnn with Apache License 2.0 | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) values = values.view(m.weight.data.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #20
Source File: inception.py From dragon with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, num_classes=1000): super(Inception3, self).__init__() self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.MaxPool2d_3x3 = nn.MaxPool2d(3, 2) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.avg_pool = nn.AvgPool2d(8, stride=1) self.dropout = nn.Dropout() self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = X.rvs(m.weight.numel()) values = values.reshape(m.weight.size()).astype('float32') th_values = torch.from_numpy(values) m.weight.data.copy_(th_values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #21
Source File: cem.py From handful-of-trials with MIT License | 5 votes |
def obtain_solution(self, init_mean, init_var): """Optimizes the cost function using the provided initial candidate distribution Arguments: init_mean (np.ndarray): The mean of the initial candidate distribution. init_var (np.ndarray): The variance of the initial candidate distribution. """ if self.tf_compatible: sol, solvar = self.tf_sess.run( [self.mean, self.var], feed_dict={self.init_mean: init_mean, self.init_var: init_var} ) else: mean, var, t = init_mean, init_var, 0 X = stats.truncnorm(-2, 2, loc=np.zeros_like(mean), scale=np.ones_like(mean)) while (t < self.max_iters) and np.max(var) > self.epsilon: lb_dist, ub_dist = mean - self.lb, self.ub - mean constrained_var = np.minimum(np.minimum(np.square(lb_dist / 2), np.square(ub_dist / 2)), var) samples = X.rvs(size=[self.popsize, self.sol_dim]) * np.sqrt(constrained_var) + mean costs = self.cost_function(samples) elites = samples[np.argsort(costs)][:self.num_elites] new_mean = np.mean(elites, axis=0) new_var = np.var(elites, axis=0) mean = self.alpha * mean + (1 - self.alpha) * new_mean var = self.alpha * var + (1 - self.alpha) * new_var t += 1 sol, solvar = mean, var return sol
Example #22
Source File: truncated_normal.py From coach with Apache License 2.0 | 5 votes |
def get_action(self, action_values: List[ActionType]) -> ActionType: # set the current noise if self.phase == RunPhase.TEST: current_noise = self.evaluation_noise else: current_noise = self.noise_schedule.current_value # scale the noise to the action space range if self.noise_as_percentage_from_action_space: action_values_std = current_noise * (self.action_space.high - self.action_space.low) else: action_values_std = current_noise # extract the mean values if isinstance(action_values, list): # the action values are expected to be a list with the action mean and optionally the action stdev action_values_mean = action_values[0].squeeze() else: # the action values are expected to be a numpy array representing the action mean action_values_mean = action_values.squeeze() # step the noise schedule if self.phase is not RunPhase.TEST: self.noise_schedule.step() # the second element of the list is assumed to be the standard deviation if isinstance(action_values, list) and len(action_values) > 1: action_values_std = action_values[1].squeeze() # sample from truncated normal distribution normalized_low = (self.clip_low - action_values_mean) / action_values_std normalized_high = (self.clip_high - action_values_mean) / action_values_std distribution = truncnorm(normalized_low, normalized_high, loc=action_values_mean, scale=action_values_std) action = distribution.rvs(1) return action
Example #23
Source File: GoogLeNet.py From TF2 with Apache License 2.0 | 5 votes |
def _initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats X = stats.truncnorm(-2, 2, scale=0.01) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #24
Source File: GoogLeNet.py From TF2 with Apache License 2.0 | 5 votes |
def _initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats X = stats.truncnorm(-2, 2, scale=0.01) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #25
Source File: tinyconv.py From video_analyst with MIT License | 5 votes |
def __init__(self): super(TinyConv, self).__init__() self.conv1 = conv_bn_relu(3, 32, stride=2, kszie=3, pad=0) self.pool1 = nn.MaxPool2d(3, stride=2, padding=0, ceil_mode=True) self.conv2a = conv_bn_relu(32, 64, stride=1, kszie=1, pad=0) self.conv2b = conv_bn_relu(64, 64, stride=2, kszie=7, pad=0, groups=64) self.conv3a = conv_bn_relu(64, 64, stride=1, kszie=3, pad=0) self.conv3b = conv_bn_relu(64, 64, stride=1, kszie=1, pad=0, has_relu=False) # initialization for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #26
Source File: inception.py From fast-MPN-COV with MIT License | 5 votes |
def __init__(self, num_classes=1000, aux_logits=True, transform_input=False): super(Inception3, self).__init__() self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, num_classes) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.numel())) values = values.view(m.weight.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #27
Source File: inception3.py From yolo2-pytorch with GNU Lesser General Public License v3.0 | 5 votes |
def __init__(self, config_channels, anchors, num_cls, transform_input=False): nn.Module.__init__(self) self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) # aux_logits self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.conv = nn.Conv2d(2048, model.output_channels(len(anchors), num_cls), 1) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_() if config_channels.config.getboolean('model', 'pretrained'): url = _model.model_urls['inception_v3_google'] logging.info('use pretrained model: ' + url) state_dict = self.state_dict() for key, value in torch.utils.model_zoo.load_url(url).items(): if key in state_dict: state_dict[key] = value self.load_state_dict(state_dict)
Example #28
Source File: googlenet.py From Deep-Metric-Learning-Baselines with Apache License 2.0 | 5 votes |
def _initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats X = stats.truncnorm(-2, 2, scale=0.01) values = torch.as_tensor(X.rvs(m.weight.numel()), dtype=m.weight.dtype) values = values.view(m.weight.size()) with torch.no_grad(): m.weight.copy_(values) elif isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)
Example #29
Source File: inceptionv3.py From 2D-kinectics with MIT License | 5 votes |
def __init__(self, num_channels, num_classes=400): super(Inception3, self).__init__() self.num_classes = num_classes self.Conv2d_1a_3x3 = BasicConv2d(num_channels, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.dropout = nn.Dropout(0.60) if num_classes != 1000: self.fc_kin = nn.Linear(2048, self.num_classes) print('Building Final Classification layer with ', num_classes, 'classes') else: self.fc = nn.Linear(2048, num_classes) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.02 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) values = values.view(m.weight.data.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_()
Example #30
Source File: Inception_v3.py From DeepDIVA with GNU Lesser General Public License v3.0 | 5 votes |
def __init__(self, output_channels=1000, aux_logits=True, transform_input=False, **kwargs): super(Inception3, self).__init__() if self.training and aux_logits == False: logging.warning('Enable AUX_LOGITS in Inception_v3 at training time for accurate training!') self.expected_input_size = (299, 299) self.aux_logits = aux_logits self.transform_input = transform_input self.Conv2d_1a_3x3 = BasicConv2d(3, 32, kernel_size=3, stride=2) self.Conv2d_2a_3x3 = BasicConv2d(32, 32, kernel_size=3) self.Conv2d_2b_3x3 = BasicConv2d(32, 64, kernel_size=3, padding=1) self.Conv2d_3b_1x1 = BasicConv2d(64, 80, kernel_size=1) self.Conv2d_4a_3x3 = BasicConv2d(80, 192, kernel_size=3) self.Mixed_5b = InceptionA(192, pool_features=32) self.Mixed_5c = InceptionA(256, pool_features=64) self.Mixed_5d = InceptionA(288, pool_features=64) self.Mixed_6a = InceptionB(288) self.Mixed_6b = InceptionC(768, channels_7x7=128) self.Mixed_6c = InceptionC(768, channels_7x7=160) self.Mixed_6d = InceptionC(768, channels_7x7=160) self.Mixed_6e = InceptionC(768, channels_7x7=192) if aux_logits: self.AuxLogits = InceptionAux(768, output_channels) self.Mixed_7a = InceptionD(768) self.Mixed_7b = InceptionE(1280) self.Mixed_7c = InceptionE(2048) self.fc = nn.Linear(2048, output_channels) for m in self.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): import scipy.stats as stats stddev = m.stddev if hasattr(m, 'stddev') else 0.1 X = stats.truncnorm(-2, 2, scale=stddev) values = torch.Tensor(X.rvs(m.weight.data.numel())) values = values.view(m.weight.data.size()) m.weight.data.copy_(values) elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_()