native_model

base_model

get_sigmoid_loss_and_pred(name, logits, label, batch_size, sample_rate=1.0, sample_bias=False, mode='train', instance_weight=None, logit_clip_threshold=None, predict_before_correction=True)[source]

对二分类,基于sigmoid计算loss和predict

由于负例采样,fast_emit等原因,需要对logit进进较正,在get_sigmoid_loss_and_pred会透明地进行

Parameters:
  • name (str) – 名称

  • logits (tf.Tensor) – 样本logits(无偏logit),可用于直接predict,但是不能用于直接计算loss

  • label (tf.Tensor) – 样本标签

  • batch_size (int) – 批大小

  • sample_rate (tf.Tensor) – 负例采样的采样率

  • sample_bias (bool) – 是否有开启fast_emit

  • mode (str) – 运行模式,可以是train/eval/predict等

get_softmax_loss_and_pred(name, logits, label, mode)[source]

对多分类,基于softmax计算loss和predict

Parameters:
  • name (str) – 名称

  • logits (tf.Tensor) – 样本logits

  • label (tf.Tensor) – 样本标签

  • mode (str) – 运行模式,可以是train/eval/predict等

class MonolithBaseModel(params)[source]

模型开发的基类

instantiate()[source]

实例化对像

add_loss(losses)[source]

用于追加辅助loss,如layer loss等

Parameters:

losses (List[tf.Tensor]) – 辅助loss列表

create_input_fn(mode)[source]

生成input_fn

create_model_fn()[source]

生成model_fn

create_serving_input_receiver_fn()[source]

生在Serving数据流,serving_input_receiver_fn

abstract input_fn(mode)[source]

抽象方法,定义数据流

Parameters:

mode (str) – 训练模式,train/eval/predict等

Returns:

DatasetV2,TF数据集

abstract model_fn(features, mode)[source]

抽象方法,定义模型

Parameters:
  • features (Dict[str,tf.Tensor]) – 特征

  • mode (str) – 训练模式,train/eval/predict等

Returns:

Union[EstimatorSpec,Tuple[tf.Tensor,tf.Tensor,tf.Tensor]],可以是tuple,包括(loss,label,predict),

也可以是EstimatorSpec

abstract serving_input_receiver_fn()[source]

Serving数据流,训练数据流与Serving数据流或能不一样

Returns:

ServingInputReceiver

add_extra_output(name, outputs)[source]

如果有出多输出,可以用add_extra_output,每个输出会成为Serving中的一个Signature

Parameters:
  • name (str) – 签名的名称

  • outputs (Union[tf.Tensor,Dict[str,tf.Tensor]]) – 输出,可以是一个Tensor,也可以是一个Dict[str,tf.Tensor]

class MonolithModel(params=None)[source]

模型开发的基类

Parameters:

params (Params) – 配置参数,默认为None