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

无涯教程-TensorFlow - XOR实现

在本章中,无涯教程将学习使用TensorFlow的XOR实现,在TensorFlow中开始XOR实施之前,看一下XOR表值。这将帮助了解加密和解密过程。

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

XOR密码加密方法基本上用于加密,即通过生成与适当密钥匹配的随机加密密钥。

使用XOR密码实现的概念是定义XOR加密密钥,然后使用此密钥对指定字符串中的字符执行XOR操作进行加密。现在无涯教程将重点介绍使用TensorFlow的XOR实现,这在下面提到-

#声明必要的模块
import tensorflow as tf
import numpy as np
"""
A simple numpy implementation of a XOR gate to understand the backpropagation
algorithm
"""x = tf.placeholder(tf.float64,shape = [4,2],name = "x")
#声明输入 x 的占位符
y = tf.placeholder(tf.float64,shape = [4,1],name = "y")
#为所需的输出声明一个占位符 ym = np.shape(x)[0]#number of training examples
n = np.shape(x)[1]#number of features
hidden_s = 2 #隐藏层中的节点数
l_r = 1#l收益率初始化theta1 = tf.cast(tf.Variable(tf.random_normal([3,hidden_s]),name = "theta1"),tf.float64)
theta2 = tf.cast(tf.Variable(tf.random_normal([hidden_s+1,1]),name = "theta2"),tf.float64)#进行前向传播
a1 = tf.concat([np.c_[np.ones(x.shape[0])],x],1)
#第一层的权重乘以第一层的输入z1 = tf.matmul(a1,theta1)
#第二层的输入是第一层的输出,通过添加了激活函数和偏差列
a2 = tf.concat([np.c_[np.ones(x.shape[0])],tf.sigmoid(z1)],1)
#第二层的输入乘以权重z3 = tf.matmul(a2,theta2)
#输出通过激活函数得到最终概率h3 = tf.sigmoid(z3)
cost_func = -tf.reduce_sum(y*tf.log(h3)+(1-y)*tf.log(1-h3),axis = 1)#内置于Tensorflow Optimizer,使用指定进行梯度下降learning rate to obtain theta valuesoptimiser = tf.train.GradientDescentOptimizer(learning_rate = l_r).minimize(cost_func)#设置所需的X和Y值以执行XOR操作
X = [[0,0],[0,1],[1,0],[1,1]]
Y = [[0],[1],[1],[0]]#初始化所有变量,创建会话并运行TensorFlow会话
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)#运行梯度下降,用于每次迭代并打印假设obtained using the updated theta values
for i in range(100000):sess.run(optimiser, feed_dict = {x:X,y:Y})#setting place holder values using feed_dictif i%100==0:print("Epoch:",i)print("Hyp:",sess.run(h3,feed_dict = {x:X,y:Y}))

上面的代码行生成输出

XOR implementation using TensorFlow

TensorFlow - XOR实现 - 无涯教程网无涯教程网提供在本章中,无涯教程将学习使用TensorFlow的XOR 实现,在TensorFlow中开始XOR 实施之前...https://www.learnfk.com/tensorflow/tensorflow-xor-implementation.html

http://www.lryc.cn/news/130879.html

相关文章:

  • 计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集
  • 【设计模式】模板方法模式(Template Method Pattern)
  • 【潮州饶平】联想 IBM x3850 x6 io主板故障 服务器维修
  • 【AIGC】 国内版聊天GPT
  • 如何在Vue中进行单元测试?什么是Vue的模块化开发?
  • Matlab编程示例3:Matlab求二次积分的编程示例
  • 【Linux】线程同步和死锁
  • Matplotlib数据可视化(二)
  • 图像去雨-雨线清除-图像处理-(计算机作业附代码)
  • pycharm调整最大堆发挥最大
  • uni-app 经验分享,从入门到离职(二)—— tabBar 底部导航栏实战基础篇
  • 【李沐】3.2线性回归从0开始实现
  • 一百五十六、Kettle——Linux上安装的Kettle9.3连接ClickHouse数据库(亲测,附流程截图)
  • 图数据库_Neo4j和SpringBoot整合使用_创建节点_删除节点_创建关系_使用CQL操作图谱---Neo4j图数据库工作笔记0009
  • Uniapp连接蓝牙设备
  • linux切换到root用户:su root和sudo su命令的区别
  • kafka-- kafka集群 架构模型职责分派讲解
  • Effective C++条款07——为多态基类声明virtual析构函数(构造/析构/赋值运算)
  • 用友Java后端笔试2023-8-5
  • idea2023 springboot2.7.5+mybatis+jsp 初学单表增删改查
  • 大语言模型之四-LlaMA-2从模型到应用
  • Android 远程真机调研
  • B. 攻防演练 (2021CCPC女生赛)
  • MAC环境,在IDEA执行报错java: -source 1.5 中不支持 diamond 运算符
  • Tomcat日志中文乱码
  • 最小生成树 — Prim算法
  • 如何使用PHP Smarty模板进行AJAX交互?
  • nginx反向代理、负载均衡
  • React Native文本添加下划线
  • 微服务-Nacos(配置管理)