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.mzph.cn/pingmian/53422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android13_SystemUI下拉框新增音量控制条

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Android13_SystemUI下拉框新增音量控制条 一、必备知识二、源码分析对比1.brightness模块分析对比2.statusbar/phone 对应模块对比对比初始化类声明对比构造方法 三、源码修改…

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使…

ffmpeg使用安装使用教程(命令行-Python)

安装教程 https://blog.csdn.net/yuanmomoya/article/details/141992114 ffmpeg转换操作视频十分的占用cpu,会把cpu打满,线上使用的话需要注意下 命令行操作 一、视频转码 将视频从一种格式转换为另一种格式: ffmpeg -i input_video.mp4 o…

Leetcode 3282. Reach End of Array With Max Score

Leetcode 3282. Reach End of Array With Max Score 1. 解题思路2. 代码实现 题目链接:3282. Reach End of Array With Max Score 1. 解题思路 这一题有一点脑筋急转弯的意思,核心就是想明白最优路径的构造方法。 显然,如果某一个点上的v…

树莓派3B串口通信

树莓派3B串口通信 文章目录 树莓派3B串口通信一、串口的基本认知1.1 关于电器标准和协议:RS232RS422RS485 1.2 关于串口的电平:UARTRS232电平TTL电平 1.3 串口通信引脚接线:1.4 串口的通信协议: 二、树莓派串口通信开发2.1 树莓派…

TensorRT-For-YOLO-Series项目:实现yolov10模型的python-tensorrt推理(对比int8与fp16推理差异)

项目地址:https://github.com/Linaom1214/TensorRT-For-YOLO-Series/tree/cuda-python 算法支持状态: 2024.6.16 Support YOLOv9, YOLOv10, changing the TensorRT version to 10.0 2023.8.15 Support cuda-python 2023.5.12 Update 2023.1.7 support YO…

观趋势 谋发展 2024 SSHT上海智能家居展有哪些创新呈现?

引言:大数跨境发布的《2024全球智能家居市场洞察报告》显示,智能家居市场正迎来快速增长,预计从2024年的1215.9亿美元增长至2032年的6332.0亿美元,复合年增长率为22.9%。 近年来,随着物联网、AI等底层技术的飞速进步&…

C++学习笔记(11)

四、学习要领 1)如果容器有成员函数,则使用成员函数,如果没有才考虑用 STL 的算法函数。 2)把全部的 STL 算法函数过一遍,知道大概有些什么东西。 3)如果打算采用某算法函数,一定要搞清楚它的原…

kubernetes微服务之ingress-nginx

目录 1 ingress-nginx 介绍 2 Ingress-nginx 的工作原理 3 使用 Ingress-nginx 的步骤 4 部署 ingress : 4.1 开启ipvs 模式 4.2 下载部署文件 4.3 上传镜像到harbor 4.4 修改文件中镜像地址,与harbor仓库路径保持一致 4.5 检查是否running 4.6 将ingress的命名…

轻松上手,高效产出:音频剪辑工具年度精选

不知道你有没有拍vlog记录生活的习惯,有时候视频里穿插进自己的声音能让视频更加丰富贴上自己的标签。这次我们一起探讨当下有哪些好用的在线音频剪辑工具。 1.FOXIT音频剪辑 链接直达>>https://www.foxitsoftware.cn/audio-clip/ 这个工具是一款专业的音…

Java 数据类型详解:基本数据类型与引用数据类型

在 Java 编程语言中,数据类型主要分为两大类:基本数据类型和引用数据类型。理解这两种类型的区别、使用场景及其转换方式是学习 Java 的基础。本文将深入探讨这两类数据类型的特点,并展示自动类型转换、强制类型转换以及自动拆箱和封箱的使用…

虚拟现实辅助工程技术助力多学科协同评估

在当今高速发展的经济环境中,制造业面临着多重挑战,包括提高产品性能、压缩设计周期、实现轻量化设计和降低成本。为了有效应对这些挑战,多学科协同评估成为缩短研发周期和提升研制质量的关键手段。 传统的多学科评估面临着数据孤立与融合困难…

《‌黑神话:‌悟空》‌游戏攻略‌

时光荏苒,岁月如梭,不知不觉已经来到了2024年的9月份了。 ‌突然想写一篇关于《‌黑神话:‌悟空》‌的游戏攻略‌。 在《‌黑神话:‌悟空》‌这款以中国古代名著《‌西游记》‌为背景的动作角色扮演游戏中,‌玩家将扮…

LeetCode 热题 100 回顾9

干货分享,感谢您的阅读!原文见:LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标…

前端页面加载由模糊到清晰的实现方案

要实现图片加载时由模糊逐渐变得清晰的效果,可以使用 CSS 和 JavaScript 的结合。这里的思路是:先让图片在加载时模糊显示,等图片完全加载完后,再去掉模糊效果。 1. 使用 CSS 实现模糊效果 我们可以使用 filter: blur() 来为图片添加模糊效果,结合 transition 属性在加载…

MongoDB Limit 与 Skip 方法

MongoDB Limit 与 Skip 方法 MongoDB 是一个流行的 NoSQL 数据库,它提供了灵活的数据存储和强大的查询功能。在处理大量数据时,我们常常需要限制返回的结果数量或者跳过一部分结果,这时就可以使用 MongoDB 的 limit 和 skip 方法。 Limit 方…

Python中差分进化differential_evolution的调用及参数说明

在场景应用中,要求我们的函数计算结果尽可能的逼近实际测量结果,可转化计算结果与测量结果的残差,通过最小化残差,便可求出最优的结果。但使用最小二乘等方法来计算时,常常会使迭代的结果显然局部最优点而导致结算错误…

【redis】redis的特性和主要应用场景

文章目录 redis 的特性在内存中存储数据可编程的扩展能力持久化集群高可用快 redis 的应用场景实时数据存储缓存消息队列 redis 的特性 redis 的一些特性(优点)成就了它 在内存中存储数据 In-memory data structures MySQL 主要是通过“表”的方式来…

JavaEE-HTTPHTTPS

目录 HTTP协议 一、概念 二、http协议格式 http请求报文 http响应报文 URL格式 三、认识方法 四、认识报头 HTTP响应中的信息 HTTPS协议 对称加密 非对称加密 中间人攻击 解决中间人攻击 HTTP协议 一、概念 HTTP (全称为 "超⽂本传输协议") 是⼀种应⽤…

WEB项目解决CORS 跨域问题

为了安全,web默认是不允许跨域访问的。不过实际项目中,会遇到不同模块之间来回跳转的情况。所以,项目内部一般会修改配置或者代码来解决CORS跨域问题。 我的后端使用的是 Jetty 服务器,所以下面就拿jetty来举例。Jetty 提供了一个…