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)