tensorflow2.0 10分钟上手

1.tensorflow2.0的安装

windows :

CPU版本:pip install tensorflow 注意:确保pi版本不低于19.0

GPU版本:英伟达显卡(算力3.0以上,算力检测在英伟达官网)显卡驱动410.x以上  anaconda prompt 输入:conda install tensorflow-gpu==2.0.0

若在notebook中import tensorflow as tf tf.test.is_gpu_available() 为True,则GPU版本安装成功。

2.线性回归

x = data.x

y = data.y

model = tf.keras.Sequential()

model.add(tf.keras.layers.Dense(1,inptu_shape(1,)))

model.sunmmary()

model.compile(optimizer = 'adam',

                        loss = 'mse'

)

history = model.fit(x,y,epochs = 5000)

model.predict(pd.Series[20])

3.梯度下降算法

4.多层感知器(神经网络)与激活函数

import pandas as pd 

import numpy as np

import matplotlib.pyplot as plt

%matplotlib inline

x = data.iloc[:,1:-1]

y = data.iloc[:,-1]

model = tf.keras.Sequential([tf.keras.layers.Dense(10,input_shape = (3,),activation = 'relu')

                                             tf.keras.layers.Dense(1)]

)

model.summary()

model.compile(optimizer = 'adam',loss = 'mse')

model.fit(x,y,epochs = 100)

5.逻辑回归与交叉熵

二分类问题

x = data.iloc[:,:-1]

y = data.iloc[:.-1].replace(-1,0)

model = tf.keras.Sequential()

model.add(tf.keras.layers.Dense(4,input_shape = (15,),activation = 'relu'))

model.add(tf.keras.layers.Dense(4,activation = 'relu'))

model.add(tf.keras.layers.Dense(1,activation = 'sigmoid'))

mdel.summary()

model.compile(optimizer = 'adam',

loss = 'binary_crossentropy',

metrics = ['acc']

)

history = model.fit(x,y,epochs = 100)

history.history.keys()

plt.plot(history.epoch,histoery.history.get('loss'))

plt.plot(history.epoch,histoery.history.get('acc'))

6.softmax多分类

要求样本分量之和为1,对于多分类问题我们使用categorical_crossentropy和sparse_categorical_crossentropy来计算softmax交叉熵。采用数据集为fashion mnist 数据集,这个数据集注意用于验证某个算法能否如期运行,是测试和调试代码的良好起点。

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

%matplotlib inline

import tensorflow as tf

(train_image,train_label),(test_image,test_label) = tf.keras.datasets.fashion_mnist.load_data()

#数据归一化
train_image = train_image/255
test_image = test_image/255

model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape = (28,28))) #扁平化
model.add(tf.keras.layers.Dense(128,activation='relu'))
model.add(tf.keras.layers.Dense(10,activation='softmax'))

model.compile(optimizer = 'adam',
              loss = 'sparse_categorical_crossentropy',
              metrics = ['acc']
)

model.fit(train_image,train_label,epochs=5)