为了账号安全,请及时绑定邮箱和手机立即绑定

如何导出估算器tf.estimator.DNNClassifier

如何导出估算器tf.estimator.DNNClassifier

哆啦的时光机 2021-04-30 06:26:53
大家好,这是我的代码,我仍然是使用tensorflow的初学者,这是我的代码正在尝试运行文本分类DNN,直到现在一切正常。我想保存我的模型并导入它,以便可以用它来预测新值,但是我不知道该怎么做。让您对正在尝试做的事情有一个大致的了解。我有2个文件夹(培训和测试),每个文件夹都有(4个文件夹(分类类别))import tensorflow as tfimport tensorflow_hub as hubimport matplotlib.pyplot as pltimport numpy as npimport osimport pandas as pdimport reimport seaborn as snsimport loggingprint("Loading all files from directory ...")# Load all files from a directory in a DataFrame.def load_directory_data(directory):  data = {}  data["sentence"] = []  data["tnemitnes"] = []  print("getting in a loop")  for file_path in os.listdir(directory):    with tf.gfile.GFile(os.path.join(directory, file_path), "r") as f:      print("directory : ",directory)      print("file path : ",file_path)      data["sentence"].append(f.read())      data["tnemitnes"].append(re.match("(\d+)\.txt", file_path).group(1))  return pd.DataFrame.from_dict(data)print("merging all files in the training set ...")# Merge all type of emails examples, add a polarity column and shuffle.def load_dataset(directory):  pos_df = load_directory_data(os.path.join("train/br"))  neg_df = load_directory_data(os.path.join(directory, "train/mi"))  dos_df = load_directory_data(os.path.join(directory, "train/Brouillons")) #dsd  nos_df = load_directory_data(os.path.join(directory, "train/favoris")) #dsd  pos_df["polarity"] = 3  neg_df["polarity"] = 2  dos_df["polarity"] = 1  nos_df["polarity"] = 0  return pd.concat([pos_df, neg_df, dos_df , nos_df]).sample(frac=1).reset_index(drop=True)print("Getting the data from files ...")# Download and process the dataset files.def download_and_load_datasets():  train_df = load_dataset(os.path.dirname("train"))  test_df = load_dataset(os.path.dirname("test"))    return train_df, test_df现在,当我添加了估算器导出功能后,我开始要求提供serving_input_fn,说实话,我确实很难理解如何创建它。如果有更简单的方法,那就更好了。
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我要做的就是将model_dir = os.getcwd()+'\ Model'添加到估算器中


model_dir= os.getcwd()+'\Model'

这是新代码,我创建了一个新的Folder并将其命名为model。


estimator = tf.estimator.DNNClassifier(

    hidden_units=[10, 20],

    feature_columns=[embedded_text_feature_column],

    n_classes=4,

    optimizer=tf.train.AdagradOptimizer(learning_rate=0.003),

    model_dir= os.getcwd()+'\Model')


查看完整回答
反对 回复 2021-05-11
  • 3 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信