当前位置: 首页 > news >正文

tensorflow-MLP python入门

目录

创建模型

热编码

keras 模型

模型测试

创建数据集

建立模型

测试


创建模型

"""
model = tf.keras.models.Sequential([
  tf.keras.layers.Dense(10, activation=tf.nn.relu, input_dim=1),
  tf.keras.layers.Dense(10, activation=tf.nn.relu),
  tf.keras.layers.Dense(2, activation=tf.nn.softmax)
])
"""

#!/usr/bin/env python
# -*- coding=utf-8 -*-
import tensorflow as tf
import numpy as npx1=np.random.random((500,1))
x2=np.random.random((500,1))+1
x_train=np.concatenate((x1, x2))y1=np.zeros((500,), dtype=int)
y2=np.ones((500,), dtype=int)
y_train=np.concatenate((y1, y2))# 建立模型
model = tf.contrib.keras.models.Sequential()
# 加入 2D 的 Convolution Layer,接著一層 ReLU 的 Activation 函數
model.add(tf.contrib.keras.layers.Dense(units=10,activation=tf.nn.relu,    #tf.nn.reluinput_dim=1))
model.add(tf.contrib.keras.layers.Dense(units=10,activation=tf.nn.relu ))  # tf.nn.relu
model.add(tf.contrib.keras.layers.Dense(units=2,activation=tf.nn.softmax ))  #tf.nn.softmaxmodel.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])model.fit(x_train, y_train,epochs=20,batch_size=128)#測試
x_test=np.array([[0.22],[0.31],[1.22],[1.33]])
y_test=np.array([0,0,1,1])score = model.evaluate(x_test, y_test, batch_size=128)
print("score:",score)predict = model.predict(x_test)
print("predict:",predict)
print("Ans:",np.argmax(predict[0]),np.argmax(predict[1]),np.argmax(predict[2]),np.argmax(predict[3]))predict2 = model.predict_classes(x_test)
print("predict_classes:",predict2)
print("y_test",y_test[:])

热编码

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

#!/usr/bin/env python
# -*- coding=utf-8 -*-
import tensorflow as tf
import numpy as npx1=np.random.random((500,1))
x2=np.random.random((500,1))+1
x_train=np.concatenate((x1, x2))y1=np.zeros((500,), dtype=int)
y2=np.ones((500,), dtype=int)
y_train=np.concatenate((y1, y2))# 將數字轉為 One-hot 向量
y_train2 = tf.contrib.keras.utils.to_categorical(y_train,  num_classes=2)# 建立模型
model = tf.contrib.keras.models.Sequential()
model.add(tf.contrib.keras.layers.Dense(units=10,activation=tf.nn.relu,input_dim=1))
model.add(tf.contrib.keras.layers.Dense(units=10,activation=tf.nn.relu ))  # tf.nn.relu
model.add(tf.contrib.keras.layers.Dense(units=2,activation=tf.nn.softmax ))  #tf.nn.softmax# 設定模型的 Loss 函數、Optimizer 以及用來判斷模型好壞的依據(metrics)
model.compile(optimizer='adam',loss=tf.contrib.keras.losses.categorical_crossentropy,metrics=['accuracy'])model.fit(x_train, y_train2,epochs=20,batch_size=128)#測試
x_test=np.array([[0.22],[0.31],[1.22],[1.33]])
y_test=np.array([0,0,1,1])
y_test2 = tf.contrib.keras.utils.to_categorical(y_test,  num_classes=2)score = model.evaluate(x_test, y_test2, batch_size=128)
print("score:",score)predict = model.predict(x_test)
print("predict:",predict)
print("Ans:",np.argmax(predict[0]),np.argmax(predict[1]),np.argmax(predict[2]),np.argmax(predict[3]))predict2 = model.predict_classes(x_test)
print("predict_classes:",predict2)
print("y_test",y_test[:])

keras 模型

""" 
x_train = np.random.random((1000, 20))
y_train = keras.utils.to_categorical(np.random.randint(2, size=(1000, 1)), num_classes=2)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(2, size=(100, 1)), num_classes=2)

"""

#!/usr/bin/env python
# -*- coding=utf-8 -*-
import keras
from keras.models import Sequential
from keras.layers import Dense
#from keras.optimizers import SGD, Dropout, Activation# Generate dummy data
import numpy as npx1=np.random.random((500,1))
x2=np.random.random((500,1))+1
x_train=np.concatenate((x1, x2))y1=np.zeros((500,), dtype=int)
y2=np.ones((500,), dtype=int)
y_train=np.concatenate((y1, y2))
#y_train = keras.utils.to_categorical(y_train, num_classes=2)model = Sequential()
model.add(Dense(units=10, activation='relu', input_dim=1))
model.add(Dense(units=10, activation='relu'))
model.add(Dense(units=2, activation='softmax'))model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])model.fit(x_train, y_train,epochs=20,batch_size=128)#測試
x_test=np.array([[0.22],[0.31],[1.22],[1.33]])
y_test=np.array([0,0,1,1])score = model.evaluate(x_test, y_test, batch_size=128)
print("score:",score)predict = model.predict(x_test)
print("predict:",predict)
print("Ans:",np.argmax(predict[0]),np.argmax(predict[1]),np.argmax(predict[2]),np.argmax(predict[3]))predict2 = model.predict_classes(x_test)
print("predict_classes:",predict2)
print("y_test",y_test[:])

模型测试

创建数据集

def CreateDatasets(high,iNum,iArraySize):

    x_train = np.random.random((iNum, iArraySize)) * float(high)

    y_train = ((x_train[:iNum,0]+x_train[:iNum,1])/2).astype(int)     # 取整數

    return x_train, y_train,tf.contrib.keras.utils.to_categorical(y_train, num_classes=(high))

category=10

dim=2

x_train,y_train,y_train2=CreateDatasets(category,1000*10,dim) # 修改這裡

建立模型

model = tf.contrib.keras.models.Sequential()

model.add(tf.contrib.keras.layers.Dense(units=10*100,

    activation=tf.nn.relu,

    input_dim=dim))

model.add(tf.contrib.keras.layers.Dense(units=10*100,

    activation=tf.nn.relu ))

model.add(tf.contrib.keras.layers.Dense(units=10*100,

    activation=tf.nn.relu ))

model.add(tf.contrib.keras.layers.Dense(units=10*100,

    activation=tf.nn.relu ))

model.add(tf.contrib.keras.layers.Dense(units=category,

    activation=tf.nn.softmax ))

model.compile(optimizer='adam',

    loss=tf.contrib.keras.losses.categorical_crossentropy,

    metrics=['accuracy'])

model.fit(x_train, y_train2,

          epochs=20*100,

          batch_size=128*100)

测试


#測試
x_test,y_test,y_test2=CreateDatasets(category,10,dim)
score = model.evaluate(x_test, y_test2, batch_size=128)
print("score:",score)predict = model.predict(x_test)
#print("predict:",predict)
print("Ans:",np.argmax(predict[0]),np.argmax(predict[1]),np.argmax(predict[2]),np.argmax(predict[3]))predict2 = model.predict_classes(x_test)
print("predict_classes:",predict2)
print("y_test",y_test[:])


http://www.mrgr.cn/news/22532.html

相关文章:

  • 【LVI-SAM】激光雷达点云地图优化LIO-SAM 之mapOptimization实现细节
  • Maven项目父模块POM中不应包含实际依赖(dependency)
  • 详细分析Mysql配置文件路径的查找(多种方法)
  • 详细分析linux中的MySql跳过密码验证以及Bug(图文)
  • Linux查找文件 find、locate、grep等使用说明
  • EmguCV学习笔记 VB.Net 11.3 DNN其它
  • Docker 部署 Nacos (图文并茂超详细)
  • SpringBoot项目是如何启动
  • 【NOI】C++算法入门之递归基础(数值类)
  • ssm鲜花销售微信小程序 LW PPT调试源码
  • 网上花店管理系统小程序的设计
  • C++第一节入门
  • JLabel设置字体大小颜色背景色
  • Go语言中实现安全高效的JWT认证:自定义中间件解析
  • nodejs 使用kafka案例,node-red配置kafka案例,从安装配置kafka开始
  • GraalVM的资料
  • 组件拆分综合案例——商城首页
  • 第T6周:好莱坞明星识别
  • 线性因子模型 - 独立分量分析(ICA)篇
  • Go语言现代web开发04 变量常量以及类型转换