Exemple #1
0
 def __init__(self,
              num_sampled,
              num_classes,
              num_true=1,
              sampled_values=None,
              remove_accidental_hits=True,
              seed=0,
              reduction='none'):
     super(SampledSoftmaxLoss, self).__init__()
     self.num_sampled = num_sampled
     self.num_classes = num_classes
     self.num_true = num_true
     self.sampled_values = sampled_values
     self.remove_accidental_hits = remove_accidental_hits
     self.seed = seed
     self.sampler = P.UniformCandidateSampler(num_true, num_sampled, True,
                                              num_classes, seed,
                                              remove_accidental_hits)
     self.cast = P.Cast()
     self.reshape = P.Reshape()
     self.shape = P.Shape()
     self.exp = P.Exp()
     self.log = P.Log()
     self.slice_op = P.Slice()
     self.matmul = P.MatMul(False, True)
     self.gather_v2 = P.GatherV2()
     self.reduce_max_true = P.ReduceMax(True)
     self.reduce_sum = P.ReduceSum()
     self.reduce_sum_true = P.ReduceSum(True)
     self.concat_dim0 = P.Concat(0)
     self.concat_dim1 = P.Concat(1)
     self.ones_like = P.OnesLike()
     self.zeros_like = P.ZerosLike()
     self.mul = P.Mul()
     self.expand_dims = P.ExpandDims()
Exemple #2
0
    def __init__(self,
                 num_sampled,
                 num_classes,
                 num_true=1,
                 sampled_values=None,
                 remove_accidental_hits=True,
                 seed=0,
                 reduction='none'):
        super(SampledSoftmaxLoss, self).__init__(reduction)

        if num_true < 1:
            raise ValueError(f"num_true {num_true} is less than 1.")
        if seed < 0:
            raise ValueError(f"seed {seed} is less than 0.")
        if num_sampled > num_classes:
            raise ValueError(
                f"num_sampled {num_sampled} is great than num_classes {num_classes}."
            )
        if num_true > num_classes:
            raise ValueError(
                f"num_true {num_true} is great than num_classes {num_classes}."
            )
        if sampled_values is not None:
            if not isinstance(sampled_values, (list, tuple)):
                raise TypeError(
                    f"sampled_values {sampled_values} is not a list or tuple.")
            if len(sampled_values) != 3:
                raise ValueError(
                    f"sampled_values size {len(sampled_values)} is not 3.")

        self.num_sampled = num_sampled
        self.num_classes = num_classes
        self.num_true = num_true
        self.sampled_values = sampled_values
        self.remove_accidental_hits = remove_accidental_hits
        self.seed = seed
        self.sampler = P.UniformCandidateSampler(num_true, num_sampled, True,
                                                 num_classes, seed,
                                                 remove_accidental_hits)
        self.cast = P.Cast()
        self.reshape = P.Reshape()
        self.shape = P.Shape()
        self.exp = P.Exp()
        self.log = P.Log()
        self.slice_op = P.Slice()
        self.matmul = P.MatMul(False, True)
        self.gather_v2 = P.Gather()
        self.reduce_max_true = P.ReduceMax(True)
        self.reduce_sum = P.ReduceSum()
        self.reduce_sum_true = P.ReduceSum(True)
        self.concat_dim0 = P.Concat(0)
        self.concat_dim1 = P.Concat(1)
        self.ones_like = P.OnesLike()
        self.zeros_like = P.ZerosLike()
        self.mul = P.Mul()
        self.expand_dims = P.ExpandDims()
        self.dtype = P.DType()
Exemple #3
0
 def __init__(self, num_true, num_sampled, unique, range_max, seed,
              remove_accidental_hits):
     super(UniformCandidateSamplerHitNet, self).__init__()
     self.sampler = P.UniformCandidateSampler(
         num_true,
         num_sampled,
         unique,
         range_max,
         seed=seed,
         remove_accidental_hits=remove_accidental_hits)
 def __init__(self,
              mul_weight,
              num_true,
              num_sampled,
              unique,
              range_max,
              seed,
              remove_accidential,
              strategy1=None):
     super(Net2, self).__init__()
     self.sampler = P.UniformCandidateSampler(num_true, num_sampled, unique,
                                              range_max, seed,
                                              remove_accidential)
     self.cast = P.Cast()
     self.weight = Parameter(mul_weight, "w1")
     self.mul = P.Mul()
     if strategy1:
         self.sampler.shard(strategy1)
 def __init__(self,
              embedding_weight,
              num_true,
              num_sampled,
              unique,
              range_max,
              seed,
              remove_accidential,
              strategy1=None):
     super(Net, self).__init__()
     self.sampler = P.UniformCandidateSampler(num_true, num_sampled, unique,
                                              range_max, seed,
                                              remove_accidential)
     if strategy1:
         self.sampler.shard(strategy1)
     self.embedding_table = Parameter(embedding_weight, "embedding_weight")
     self.gatherv2 = P.Gather()
     self.reduce_sum = P.ReduceSum()
     self.reduce_sum2 = P.ReduceSum()
     self.reduce_sum3 = P.ReduceSum()
Exemple #6
0
 def __init__(self, num_true, num_sampled, unique, range_max):
     super(UniformCandidateSamplerNet, self).__init__()
     self.sampler = P.UniformCandidateSampler(num_true, num_sampled, unique,
                                              range_max)