Tensorflow学习

一、处理数据的结构

案例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import numpy as np# create data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3# 创建结构(一维结构)
Weights = tf.Variable(tf.random.uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))y = Weights*x_data + biases# 计算丢失值
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)init =tf.initialize_all_variables()sess = tf.Session()
sess.run(init) #激活for step in range(201):sess.run(train)if step%20 ==0:print(step,sess.run(Weights),sess.run(biases))

 二、Session会话控制

案例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import numpy as npmatrix1 = tf.constant([[3,3]])
matrix2 = tf.constant([[2],[2]])# 矩阵相乘
product = tf.matmul(matrix1,matrix2)#会话控制
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()

输出结果为:[[12]]

 三、Variable变量

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()state = tf.Variable(0,name = 'counter')
# print(state.name)
one = tf.constant(1)new_value = tf.add(state , one)update = tf.assign(state,new_value)init = tf.initialize_all_variables()# 必须使用Session激活
with tf.Session() as sess:sess.run(init)for _ in range(3):sess.run(update)print(sess.run(state))

四、placeholder传入值

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:[7.],input2:[2.]}))

输出结果为:[14.]

五、激励函数

 将线性函数扭曲为非线性函数的一种函数

六、添加神经层

def add_layer(inputs,in_size,out_size,activation_function = None):Weights = tf.Variable(tf.random.uniform([in_size,out_size]))biases = tf.Variable(tf.zeros([1,out_size])) + 0.1# 相乘Wx_plus_b = tf.matmul(inputs,Weights) + biases# 激活if activation_function is None:outputs = Wx_plus_belse:outputs = activation_function(Wx_plus_b)return outputs

七、建立神经网络

案例代码如下:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import numpy as npdef add_layer(inputs,in_size,out_size,activation_function = None):Weights = tf.Variable(tf.random.uniform([in_size,out_size]))biases = tf.Variable(tf.zeros([1,out_size])) + 0.1# 相乘Wx_plus_b = tf.matmul(inputs,Weights) + biases# 激活if activation_function is None:outputs = Wx_plus_belse:outputs = activation_function(Wx_plus_b)return outputs
# 定义数据形式
x_data = np.linspace(-1,1,300)[:,np.newaxis] #增加数据维度
noise = np.random.normal(0,0.05,x_data.shape)
y_data = np.square(x_data) - 0.5 + noisexs = tf.placeholder(tf.float32,[None,1])
ys = tf.placeholder(tf.float32,[None,1])# 构建隐藏层
l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)
# 构建输出层
predition = add_layer(l1,10,1,activation_function=None)# 计算误差
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - predition),reduction_indices=[1]))# 对误差进行更正
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)init = tf.initialize_all_variables()sess = tf.Session()sess.run(init)for i in range(1000):sess.run(train_step,feed_dict={xs:x_data,ys:y_data})if i%50 == 0:print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))

运行结果如下:

可观察到误差不断减小 ,说明预测准确性在不断增加

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/14046.shtml

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

相关文章

C++模板

目录 函数模板隐式实例化显式实例化 类模板 下面是多种类型的交换函数 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(ch…

Redis 哨兵 (sentinel)

是什么 官网理论:https://redis.io/docs/management/sentinel/ 吹哨人巡查监控后台 master 主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务。 作用:无人值守运维 哨兵的作用: 1…

Pytorch深度学习-----神经网络的卷积操作

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…

IO进、线程——深入了解C语言中的标准IO文件操作和目录流

标准IO 1、文件操作 1.1 打开文件——fopen()、freopen() FILE *fopen(const char *pathname, const char *mode);功能:打开文件,并且生成一个流 返回值:成功返回值流指针,失败返回NULL参数说明: pathname&#xff…

【状态估计】基于UKF、AUKF的电力系统负荷存在突变时的三相状态估计研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

SentencePiece android ndk编译

LLaMa等LLM语言模型一般使用SentencePiece tokenizer,在端侧部署需要编译和使用其c版本。 在安卓平台使用NDK编译 CMakeLists.txt需要进行一些修改: src/CMakeLists.txt如下位置加上log依赖,否则提示android log相关符号不存在。 此外&…

RNN架构解析——LSTM模型

目录 LSTMLSTM内部结构图 Bi-LSTM实现 优点和缺点 LSTM LSTM内部结构图 Bi-LSTM 实现 优点和缺点

解决IDEA的git非常缓慢方法

解决IDEA的git非常缓慢方法 xxxx\IDEA2021.1.3\IntelliJ IDEA 2021.1.3\bin

transformer代码注解

其中代码均来自李沐老师的动手学pytorch中。 class PositionWiseFFN(nn.Module):ffn_num_inputs 4ffn_num_hiddens 4ffn_num_outputs 8def __init__(self,ffn_num_inputs,ffn_num_hiddens,ffn_num_outputs):super(PositionWiseFFN,self).__init__()self.dense1 nn.Linear(ffn…

微服务项目,maven无法加载其他服务依赖

微服务项目,导入了工具类工程,但是一直报错,没有该类, 检查maven 这里的Maven的版本与idea版本不匹配可能是导致依赖加载失败的最重要原因 检查maven配置,我这是原来的maven,home 修改之后,就不报错了

Autosar通信实战系列02-CAN报文发送周期测试脚本开发及周期不准优化

本文框架 前言1. CAN发送报文的周期测试脚本开发2. 发送报文周期不准的可能原因及优化策略2.1 发送报文的控制逻辑2.2 送报文周期不准的可能原因及优化策略前言 在本系列笔者将结合工作中对通信实战部分的应用经验进一步介绍常用,包括但不限于通信各模块的开发教程,代码逻辑…

Webpack5 DefinePlugin的作用

在Webpack 5中,DefinePlugin是一个插件,用于创建全局常量,这些常量可以在编译过程中被引用。它的作用是允许开发人员在代码中定义全局变量,这些变量在构建过程中将被替换为其对应的值。 DefinePlugin并不是必须的,但它…

【ArcGIS Pro二次开发】(53):村规制表、制图【福建省】

这篇算是村规入库的一个延续。 村庄规划中有一些图纸是需要严格按照规范制图,或形成一定规范格式的。 这些图纸的制作基本算是机械式的工作,可以用工具来代替人工。 一、要实现的功能 如上图所示,在【村庄规划】组,新增了两个工…

【雕爷学编程】MicroPython动手做(16)——掌控板之图片图像显示3

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

vue3+vite——打测试包+正式包+本地预览打包后的文件——基础积累

最近在学习vue3vite的内容,发现vite和webpack类似,下面将区别及使用方法做一下记录: 1.vite添加环境配置文件 ... ├── src ... ├── .env # 通用环境变量配置 ├── .env.development …

文件操作fread()

fread 是 C 语言中用于从文件中读取数据的函数。它可以读取指定数量的数据项到内存中。c size_t fread(void *ptr, size_t size, size_t count, FILE *stream);ptr:指向接收数据的内存块的指针。size:每个数据项的字节数。count:要读取的数据…

Gitee创建分支

在使用Gitee进行代码托管时,分支是一个非常重要的概念。它可以让我们在不同的开发阶段、不同的团队成员之间协作开发,提高团队工作效率。因此,下面将介绍如何在Gitee仓库中建立分支。 一、在Gitee上创建新的分支 在讲解如何在Gitee上创建新…

快问快答JS面向对象面试题

1、说说你对闭包的理解 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。在js中,函数即闭包,只有函数才会产生作用…

机器学习:提取问题答案

模型BERT 任务:提取问题和答案 问题的起始位置和结束位置。 数据集 数据集 DRCDODSQA 先分词,然后tokenize 文章长度是不同的,bert的token的长度有限制,一般是512, self-attention的计算量是 O ( n 2 ) O(n^2) O(n…

opencv+ffmpeg环境(ubuntu)搭建全面详解

一.先讲讲opencv和ffmpeg之间的关系 1.1它们之间的联系 我们知道opencv主要是用来做图像处理的,但也包含视频解码的功能,而在视频解码部分的功能opencv是使用了ffmpeg。所以它们都是可以处理图像和视频的编解码,我个人感觉两个的侧重点不一…