【莫凡Python】Tensorflow 基础构架

2023-12-11 20:10

本文主要是介绍【莫凡Python】Tensorflow 基础构架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 处理结构

  • Tensorflow:
    首先要定义神经网络结构(数据流图 data flow graphs),再把数据 (数据以张量tensor形式存在) 放入结构中进行运算和训练。即tensor不断在一个节点flow到另一个节点。
  • Tensor (张量) :
    • 零阶张量=纯量=标量=scalar=一个数值,e.g. [1]
    • 一维张量=向量=vector, e.g. [1, 2, 3]
    • 二维张量=矩阵=matrix, e.g. [[1, 2, 3 ][ 4, 5, 6 ][7, 8, 9 ]]

2 例子2

目的:线性拟合 y=0.1x+0.3 , 每20步训练,输出w, b。

import tensorflow as tf
import numpy as np# create data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3# create model
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weights * x_data + biases# cal loss
loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
tain = optimizer.minimize(loss)# use model
init = tf.global_variable_initializer() #初始化之前定义的Variable
sess = tf.Session() #创建会话,用session执行init初始化步骤
sess.run(init)# train
for step in range(200):sess.run(train)if step % 20 == 0:print(step, sess.run(Weights), sess.run(biases))

3 Session 会话控制

功能:加载两个tensorflow,建立两个matrix,输出两个matrix相乘的结果。

import tensorflow as tf# create two matrixes
matrix1 = tf.constant([[3,3]])
matrix2 = tf.constant([[2],[2]])
product = tf.matmul(matrix1, matrix2)# method of open Session 
with tf.Session() as sess:result = sess.run(product)print(result) #[[12]]

4 Variable 变量

在Tensorflow中,变量必须定义是用tf.Variable说明。

import numpy as np
import matplotlib.pyplot as plt
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()v1 = tf.Variable(0,name='age') #定义变量,值为0,名字为age
c1 = tf.constant(1) #定义常量
v2 = tf.add(v1,c1)
update = tf.assign(v1,v2)# 若定义了Variable就一定要initialize
init = tf.global_variables_initializer()# 使用Session启动
with tf.Session() as sess:sess.run(init)for _ in range(3):sess.run(update)print(sess.run(v1))

5 Placeholder 传入值

placeholder是Tensorflow中的占位符,暂时存储变量。
Tensorflow如果想从外部传入data,需要用tf.placeholder(),然后以这种形式传输数据sess.run(**, feed_dict={input: **}).

import numpy as np
import matplotlib.pyplot as plt
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()# 定义两个碗
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)output = tf.multiply(input1,input2)with tf.Session() as sess:print(sess.run(output,feed_dict={input1:[3.],input2:[8.]})) # [24.]

6 什么是激励函数 (Activation Function)

  • 线性函数 v.s. 非线性函数
    在这里插入图片描述
  • 激励函数
    在这里插入图片描述
  • 常用选择

在这里插入图片描述

7 激励函数 Activation Function

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt# fake data
x = np.linspace(-5, 5, 200)     # x data, shape=(100, 1)# following are popular activation functions
y_relu = tf.nn.relu(x)
y_sigmoid = tf.nn.sigmoid(x)
y_tanh = tf.nn.tanh(x)
y_softplus = tf.nn.softplus(x)
# y_softmax = tf.nn.softmax(x)  softmax is a special kind of activation function, it is about probabilitysess = tf.Session()
y_relu, y_sigmoid, y_tanh, y_softplus = sess.run([y_relu, y_sigmoid, y_tanh, y_softplus])# plt to visualize these activation function
plt.figure(1, figsize=(8, 6))
plt.subplot(221)
plt.plot(x, y_relu, c='red', label='relu')
plt.ylim((-1, 5))
plt.legend(loc='best')plt.subplot(222)
plt.plot(x, y_sigmoid, c='red', label='sigmoid')
plt.ylim((-0.2, 1.2))
plt.legend(loc='best')plt.subplot(223)
plt.plot(x, y_tanh, c='red', label='tanh')
plt.ylim((-1.2, 1.2))
plt.legend(loc='best')plt.subplot(224)
plt.plot(x, y_softplus, c='red', label='softplus')
plt.ylim((-0.2, 6))
plt.legend(loc='best')plt.show()

在这里插入图片描述

这篇关于【莫凡Python】Tensorflow 基础构架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/481958

相关文章

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

Python装饰器之类装饰器详解

《Python装饰器之类装饰器详解》本文将详细介绍Python中类装饰器的概念、使用方法以及应用场景,并通过一个综合详细的例子展示如何使用类装饰器,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. 引言2. 装饰器的基本概念2.1. 函数装饰器复习2.2 类装饰器的定义和使用3. 类装饰

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中