python - 保存模型 DNNEstimator Tensorflow
问题描述
我有这个训练算法,但我无法保存(导出 SavedModel),我查看了 tensorflow 文档但我不明白。
如何保存在函数返回时返回的训练模型?
import os
import numpy as np
import pandas as pd
import tensorflow as tf
import tensorflow_hub as hub
from sklearn.preprocessing import MultiLabelBinarizer
def classifica_role(vaga, texto, role):
train_size = int(len(vaga[texto]) * .8)
train_texto = vaga[texto][:train_size].astype('str')
train_role = vaga[role][:train_size]
test_texto = vaga[texto][train_size:].astype('str')
test_role = vaga[role][train_size:]
encoder = MultiLabelBinarizer()
encoder.fit_transform(train_role)
train_encoded = encoder.transform(train_role)
test_encoded = encoder.transform(test_role)
num_classes = len(encoder.classes_)
description_embeddings = hub.text_embedding_column("descricao", module_spec="https://tfhub.dev/google/universal-sentence-encoder/2", trainable=False)
multi_label_head = tf.contrib.estimator.multi_label_head(num_classes, loss_reduction=tf.losses.Reduction.SUM_OVER_BATCH_SIZE)
features = {"descricao": np.array(train_texto).astype(np.str)}
labels = np.array(train_encoded).astype(np.int32)
train_input_fn = tf.estimator.inputs.numpy_input_fn(features, labels, shuffle=True, batch_size=32, num_epochs=25)
estimator = tf.estimator.DNNEstimator(head = multi_label_head, hidden_units = [64,10], feature_columns = [description_embeddings])
return estimator.train(input_fn=train_input_fn)
解决方案
推荐阅读
- mfc - MFC:应用程序的注册表项添加了随机 GUID 项,并添加了一个名为“Untitled”的空白 REG_SZ 值?
- qt - Qt Grid Layout 让小部件不移动,忽略对齐
- generics - Rust:泛型参数可以有引用其他参数的界限吗?
- r - 使用迁移助手从 Intel 迁移到 Apple Silicon M1 后使用 R 返回错误:Bad CPU type in executable and Undefined error: 0
- c# - 在异步任务中并行使用 WebView2
- jquery - 如何销毁 ASP.net MVC 视图上的现有 jQuery 表,然后重建它?
- python - 输入图像错误中的通道数无效?
- javascript - Bash 将 SIGINT 路由到从 Bash 脚本启动的文件/进程
- java - 我使用布尔错误吗?
- python - 从具有值的组合创建矩阵