栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

TF模型流程

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TF模型流程

目录
  • 1. 数据加载
    • 1.1 Numpy数据
    • 1.2 CSV 格式
    • 1.2 使用pandas读取数据
      • 1.2.1 加载数据集
      • 1.2.1 使用tf.data.Dataset 读区数据

1. 数据加载 1.1 Numpy数据

使用 tf.data.Dataset 加载Numpy数据,将(feature_array,label_array)两个数组作为元组传递给tf.data.Dataset.from_tensor_slices以创建tf.data.Dataset

BATCH_SIZE=64
SHUFFLE_BUFFER_SIZE=1000

# 构建训练集、测试集迭代器
train_dataset=tf.data.Dataset.from_tensor_slices((train_examples,train_labels)).
shuffle(SHUFFLE_BUFFER_SIZE).batch(BATCH_SIZE) # 打乱和批次化数据集

test_dataset=tf.data.Dataset.from_tensor_slices((test_examples,test_labels)).batch(BATCH_SIZE)
1.2 CSV 格式

使用 tf.data.experiment.make_csv_dataset方法将csv格式的数据加载到tf.data.Dataset

  1. 如果使用的文件第一行不包含列名,那么需要将列名通过字符串列表传给make_csv_dataset函数的column_names参数。
  2. 如果你需要忽略数据集中的某些列,创建一个包含你需要使用的列的列表,然后传给构造器(可选)的参数select_columns
  3. label列需要显示制定,如制定LABEL_COLUMN='label'
import tensorflow as tf
TRAIN_DATA_URL = "./train.csv"
TEST_DATA_URL = "./eval.csv"
# 对于包含模型需要预测的值的列是你需要显式指定的
LABEL_COLUMN = 'survived'
LABELS = [0, 1]
def get_dataset(file_path):
  dataset = tf.data.experimental.make_csv_dataset(
      file_path,
      batch_size=12, # 为了示例更容易展示,手动设置较小的值
      label_name=LABEL_COLUMN,
      na_value="?",
      num_epochs=1,
      ignore_errors=True)
  return dataset

raw_train_data = get_dataset(train_file_path)
raw_test_data = get_dataset(test_file_path)
1.2 使用pandas读取数据 1.2.1 加载数据集
import pandas as pd
import numpy as np
import os
import tensorflow as tf
from tensorflow.keras import layers
train = pd.read_csv("data/train.csv",
    names=["Length", "Diameter", "Height", "Whole weight", "Shucked weight","Viscera weight", "Shell weight", "Age"])

# 分离样本的features和labels
features = train.copy()

labels = features.pop('Age').values    # series 一定要转换为array才能输入模型
features=np.array(features)

将所有的特征打包成一个numpy 数组,dataframe 转换为array的三种方法:

  • df.values
  • df.as_matrix()
  • np.array(df)
1.2.1 使用tf.data.Dataset 读区数据
# 方法1: 
numeric_dataset = tf.data.Dataset.from_tensor_slices((numeric_features.values, target))
# 方法2: 
numeric_dict_ds = tf.data.Dataset.from_tensor_slices((dict(numeric_features),target))
for row in numeric_dataset.take(3):
    print(row)
   
# 构建batch
numeric_batches = numeric_dataset.shuffle(1000).batch(BATCH_SIZE)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/921027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号