Tensorflow学习之初级(一)

1、实验平台搭建基础

Jupyter  (程序编辑调试工具)
TensorFlow 2.0-机器学习框架
python Programming--  Python运行环境

2、Jupyter 使用

%config IPCompleter.greedy=True     #TAB键代码自动提示
 import tensorflow as tf
      print(tf.__version__)  #查看tf版本

  Jupyter 中执行命令行: ctrl+enter 键

 

3、一个神经元网络的搭建

如何根据X得到Y?

例如: X= -1,0,1,2,3,4

             Y=-3,-1, 1,3,5, 

              Y =2X-1TensorFlow 搭建模型:
#构建模型     #keras为tensorflow中的高级API

model = keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])
model.compile(optimizer='sgd ', loss='mean_squared_error ')   #指定优化模型以及损失函数

    model = keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])
    model.compile(optimizer='sgd ', loss='mean_squared_error ')   #指定优化模型以及损失函数
#准备训练数据

xs=np.array([-1.0,0.8,1.8,2.0,3.8,4.0],dtype=float)
ys=np.array([-3.0,-1.0,1.0,3.0,5.0,7.0],dtype=float)

    xs=np.array([-1.0,0.8,1.8,2.0,3.8,4.0],dtype=float)
   ys=np.array([-3.0,-1.0,1.0,3.0,5.0,7.0],dtype=float)

#训练模型

model.fit(xs,ys,epochs=500)

  model.fit(xs,ys,epochs=500) 

#使用模型

print ( model.predict( [ 10.0]))

   print ( model.predict( [ 10.0]))

第二部分:机器视觉(图片分类)

2.2、加载Fashion MNIST数据集(分类衣服、鞋子等10个类别)

from tensorflow import keras
fashion_mnist = keras.datasets.fashion _mnist
(train_images, train_labels), (test_images, test_labels)=fashion_mnist.load_data() #加载数据

print(train_images.shape)  #加载完查看加载的具体数据为:60000张照片,灰度为28*28
(60000,28,28)
print(train_labels.shape)  #加载完查看标签加载的具体数据为:60000张照片,
(60000,)
print(train_labels[ :5])   #查看前5个标签的
[9 0 0 3 0]

import matplotlib.pyplot as plt
plt.imshow(train_images[0])   #查看图片具体什么样子

   from tensorflow import keras
   fashion_mnist = keras.datasets.fashion _mnist
  (train_images, train_labels), (test_images, test_labels)=fashion_mnist.load_data() #加载数据

   print(train_images.shape)  #加载完查看加载的具体数据为:60000张照片,灰度为28*28
   (60000,28,28)
   print(train_labels.shape)  #加载完查看标签加载的具体数据为:60000张照片,
   (60000,)
   print(train_labels[ :5])   #查看前5个标签的
  [9 0 0 3 0]

   import matplotlib.pyplot as plt
   plt.imshow(train_images[0])   #查看图片具体什么样子

2.3、构造神经元网络模型#构造神经元模型

model = keras.Sequential([keras.layers.Flatten(input_shape=(28,28)), keras.layers.Dense(128,activation=tf.nn.relu),keras.layers.Dense(10,activation=tf.nn.softmax))])

import tensorflow as tf
from tensorflow import keras
import matplotlib.pyplot as plt
fashion_mnist=keras.datasets.fashion_mnist
(train_images,train_labels),(test_images, test_labels)=fashion_mnist.load_data()

model = keras.Sequential([keras.layers.Flatten(input_shape=(28,28)), keras.layers.Dense(128,activation=tf.nn.relu),keras.layers.Dense(10,activation=tf.nn.softmax))])

import tensorflow as tf
from tensorflow import keras
import matplotlib.pyplot as plt
fashion_mnist=keras.datasets.fashion_mnist
(train_images,train_labels),(test_images, test_labels)=fashion_mnist.load_data()

 

#搭建模型(输入、中间、输出)

model=keras.Sequential()
model.add(keras.layers.Flatten(input_shape=(28,28)))
model.add(keras.layers.Dense(128,activation=tf.nn.relu))
model.add(keras.layers.Dense(10,activation=tf.nn.softmax))
mode1.summary()  

 model=keras.Sequential()
model.add(keras.layers.Flatten(input_shape=(28,28)))
model.add(keras.layers.Dense(128,activation=tf.nn.relu))
model.add(keras.layers.Dense(10,activation=tf.nn.softmax))
mode1.summary()  

#每一层添加了个bias (784+1)128=100480     (128+1)=1290

2.4训练和评估模型

train_images_scaled=train_images/255
model.compile(optimizer=tf.optimizers.Adam(),loss=tf.keras.losses.sparse_categorical_crossentropy,metrics=['accuracy'])
model.fit(train_images_scaled,train_labels,epochs=5)

train_images_scaled=train_images/255
model.compile(optimizer=tf.optimizers.Adam(),loss=tf.keras.losses.sparse_categorical_crossentropy,metrics=['accuracy'])
model.fit(train_images_scaled,train_labels,epochs=5)

训练结果 epoch 显示截图:

评估模型:

test_images_scaled=test_images/255
model.evaluate(test_images_scaled,test_labels)

test_images_scaled=test_images/255
model.evaluate(test_images_scaled,test_labels) 

模型评估结果:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值