every blog every motto:

0. 前言

tf1.0 dataset使用

1. 代码部分

1. 导入模块

import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import sklearn
import pandas as pd
import os
import sys
import time
import tensorflow as tf
from tensorflow import kerasprint(tf.__version__)
print(sys.version_info)
for module in mpl,np,pd,sklearn,tf,keras:print(module.__name__,module.__version__)

2. 读取数据

fashion_mnist = keras.datasets.fashion_mnist
# print(fashion_mnist)
(x_train_all,y_train_all),(x_test,y_test) = fashion_mnist.load_data()
x_valid,x_train = x_train_all[:5000],x_train_all[5000:]
y_valid,y_train = y_train_all[:5000],y_train_all[5000:]
# 打印格式
print(x_valid.shape,y_valid.shape)
print(x_train.shape,y_train.shape)
print(x_test.shape,y_test.shape)

3. 数据归一化

print(np.max(x_train),np.min(x_train))
# 数据归一化
from sklearn.preprocessing import StandardScalerscaler = StandardScaler()
# x_train:[None,28,28] -> [None,784]
x_train_scaled = scaler.fit_transform(x_train.astype(np.float32).reshape(-1,1)).reshape(-1,28*28)
x_valid_scaled = scaler.transform(x_valid.astype(np.float32).reshape(-1,1)).reshape(-1,28*28)
x_test_scaled = scaler.transform(x_test.astype(np.float32).reshape(-1,1)).reshape(-1,28*28)# 更改数据类型
y_train = np.asarray(y_train,dtype=np.int64)
y_valid = np.asarray(y_valid,dtype=np.int64)
y_test = np.asarray(y_test,dtype=np.int64)
print(np.max(x_train_scaled),np.min(x_train_scaled))

4. dataset

# 创建dataset
def make_dataset(images,labels,epochs,batch_size,shuffle=True):dataset = tf.data.Dataset.from_tensor_slices((images,labels))if shuffle:dataset = dataset.shuffle(10000)dataset = dataset.repeat(epochs).batch(batch_size)return dataset

下方有错误

batch_size = 20
epochs = 10
dataset = make_dataset(x_train_scaled,y_train,epochs=epochs,batch_size=batch_size)
for data,label in dataset.take(1):print(data)print(label)

修改后

batch_size = 20
epochs = 10
dataset = make_dataset(x_train_scaled,y_train,epochs=epochs,batch_size=batch_size)# 1. auto initialization
# 2. can't be re-initalized. make_initializable_iteratordataset_iter = dataset.make_one_shot_iterator()
x,y = dataset_iter.get_next()
with tf.Session() as sess:x_val,y_val = sess.run([x,y])print(x_val.shape)print(y_val.shape)

5. 计算图

hidden_units = [100,100]
class_num = 10# x = tf.placeholder(tf.float32,[None,28*28])
# y = tf.placeholder(tf.int64,[None])
# 隐藏层
input_for_next_layer = x
for hidden_unit in hidden_units:input_for_next_layer = tf.layers.dense(input_for_next_layer,hidden_unit,activation=tf.nn.relu)# 输出层
logits = tf.layers.dense(input_for_next_layer,class_num)
# last_hidden_output * w(logits) -> softmax -> pro
# 1. logit -> softmax -> prob
# 2. labels -> ont_hot
# 3. calculate cross entropy
loss = tf.losses.sparse_softmax_cross_entropy(labels=y,logits=logits)# get accuracy
prediction = tf.argmax(logits,1)
correct_prediction = tf.equal(prediction,y)
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float64))# 训练
train_op = tf.train.AdamOptimizer(1e-3).minimize(loss)
print(x)
print(logits)
x_train.shape
# sessioninit = tf.global_variables_initializer()
train_steps_per_epoch = x_train.shape[0] // batch_sizewith tf.Session() as sess:sess.run(init)for epoch in range(epochs):for step in range(train_steps_per_epoch):loss_val,accuracy_val,_ = sess.run([loss,accuracy,train_op])print('\r[Train] epoch: %d,step: %d,loss:%3.5f,accuracy: %2.2f'%(epoch,step,loss_val,accuracy_val),end='')

从零基础入门Tensorflow2.0 ----五、24TF1.0dataset使用相关推荐

  1. 视频编码零基础入门(0):零基础,史上最通俗视频编码技术入门

    [来源申明]本文引用了微信公众号"鲜枣课堂"的<视频编码零基础入门>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作 ...

  2. Apache Flink 零基础入门(十五)Flink DataStream编程(如何自定义DataSource)

    数据源可以通过StreamExecutionEnvironment.addSource(sourceFunction)方式来创建,Flink也提供了一些内置的数据源方便使用,例如readTextFil ...

  3. 【转】Dynamics CRM 365零基础入门学习(五)权限管理

    一:安全角色 Microsoft Dynamics 365中的安全角色是各种实体的特权和访问级别矩阵. 它们根据其功能分组在不同的选项卡下. 这些组包括:核心记录,营销,销售,服务,业务管理,服务管理 ...

  4. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

    Python 小白零基础入门 -- 条件语句和循环语句 点击上方 "Python 读数", 选择 "星标" 公众号 重磅干货, 第一时间送达 Python 零基 ...

  5. 【学习记录】Python零基础入门(五)

    第五章 Python零基础入门之条件.循环及其他语句 本人自学的主要教材为Magnus Lie Hetland的Beginning Python:From Novice to Professional ...

  6. sql数据库教程百度云_绘画自学零基础入门教程|五天学会绘画pdf百度云下载!...

    绘画自学零基础入门教程|五天学会绘画pdf百度云下载!画画是可以让人留存记忆的事情.我自己就很喜欢画画来记录生活中一些特别的日子.场景还有我的家人朋友们.有时候,比照片更有故事感和纪念意义-有空拿出来 ...

  7. 零基础入门转录组分析——第五章(表达定量)

    零基础入门转录组分析--第五章(表达定量) 目录 零基础入门转录组分析--第五章(表达定量) 1. 序列比对结果的复查 2. 表达定量 3. 提取有效信息 4. 合并多个样本定量结果 5. 进一步修改 ...

  8. 五万字15张导图Java自学路线,小白零基础入门,程序员进阶,收藏这篇就够了

    本文收录于<技术专家修炼> 文中配套资料合集 路线导图高清源文件 点击跳转到文末点击底部卡片回复「资料」领取 哈喽,大家好,我是一条~ 最近粉丝问我有没有Java自学路线,有了方向才能按图 ...

  9. 罗马音平假名中文可复制_日语零基础入门五十音,日语零基础五十音图表

    日语零基础入门五十音,日语入门的最基本要求就是记住五十音图,但是这个记住不仅是你能背下来或是默写下来.而是你需对号入座! 下面是一张五十音图表. 即每个假名单独拿出来你要立马反应出来怎么读.其重要性甚 ...

  10. 0基础能学漫画么?漫画零基础入门教程!

    漫画零基础入门教程!很多人都喜欢看动漫,同时也会幻想成为动漫里的主角,与此同时也会诞生学漫画的想法.不论是你真的想学习漫画,又或出于个人爱好,或职业需要,或为了具备一项自己喜欢的看家本领.我们都要先清 ...

最新文章

  1. mysql 默认读取位置
  2. tsql2008技术内幕:tsql语言基础(第3章)
  3. 基于XML的自动装配||SpEL测试
  4. 聚焦“裂变”,又拍云推出直播云等多场景解决方案
  5. 静态方法(对象方法)、实例方法的调用
  6. 如何成为java高手
  7. 贵!iPhone 11系列维修费用出炉 最高的可以入手一部华为P30 Pro了…
  8. 剑指Offer之包含min函数的栈
  9. 关于软件工程的课程建议
  10. android测试tf卡读写速度,手机TF卡速度的研究经验sandisk/金士顿 C2,C4,C6测速软件测速图数据...
  11. 初识前端模板引擎jade
  12. 一元线性回归原理及代码实现
  13. 冰点文库下载器v3.2.9
  14. Python 办公自动化之 PDF 的详细操作(全)
  15. 计算机单元格的引用计算,2017年职称计算机考试Excel教程:单元格引用
  16. 技嘉1080显卡体质测试软件,技嘉AORUS GTX 1080 Gaming Box
  17. Node.js 在微医的应用场景及实践
  18. 宋体能力从业的一些感悟
  19. reactos操作系统实现(39)
  20. 中青旅实业携手中金资本推进债务重组具有标杆意义

热门文章

  1. php ajax跨域cookies,解决ajax跨域请求数据cookie丢失问题
  2. 192.168.8.1手机登陆_192.168.1.1手机登陆
  3. springmvc请求参数绑定
  4. sql python r_Mode Studio,支持Python,R和SQL的云数据分析利器
  5. jq过滤替换敏感词_如何用python简单过滤敏感信息
  6. process 类 java_Process 执行命令行Java封装类详解
  7. Node.js:中间件——express简单的设置用户表单提交数据的接收中间件
  8. 封装一个FTPClient连接池工具类
  9. 算法笔记_面试题_3.去除数组中的重复元素
  10. 贝叶斯估计原理及流程