毕业设计草稿

tensorsflow的数据预处理

因为要是使用tensorflow集成的神经网络模型,以及配套的数据输出,比如说loss曲线,acc曲线等,所以这里需要对其数据预处理做一个详细的了解。
在网上看到两种训练数据集的方法,一种是直接整理好数据放入到网络里,一种是先用tensorflow的数据集进行处理。究竟是哪种好,新做法方便之处在于数据打乱。

#新做法
#处理数据,切片,打乱之类
train_dataset=tf.data.Dataset.from_tensor_slices((x_train,y_train)).batch(batch_size).shuffle(batch_size*10)
#丢入网络
model.fit(train_dataset,epochs=10)
# 传统做法
# 开始训练
"""  把数据reshape成四维,用作模型的输入并归一化数据  """
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1).astype('float32')
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1).astype('float32')
x_train = normalize(x_train)
x_test = normalize(x_test)

#放入网络
history = model.fit(x=x_train, y=y_train, validation_split=0.2,
                    epochs=10, batch_size=200, verbose=2)

现在的疑问:自己制作的数据集中,如何将数据集打乱,然后分成训练集和测试集。因为打乱的过程需要数据的x,y进行绑定。
已解决:

from sklearn.model_selection import train_test_split
train_df, test_df = train_test_split(df, test_size = 0.2, random_state = 42, shuffle = True, stratify = df.code.values) 
#stratify表示code这个分类在训练集和测试集的分类当中比例一致,实际上用value的值也可以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值