初识tensorflow程序设计模式

文章目录

github地址https://github.com/fz861062923/TensorFlow

建立'计算图'

python 复制代码
#建立'计算图'
import tensorflow as tf
x=tf.constant(2,name='x')#建立常量,有点像C
y=tf.Variable(x+5,name='y')#建立变量
python 复制代码
#执行'计算图'
with tf.Session() as sess:
    init=tf.global_variables_initializer()#初始化global变量
    sess.run(init)
    print('x=',sess.run(x))
    print('y=',sess.run(y))
复制代码
x= 2
y= 7
python 复制代码
x
复制代码
<tf.Tensor 'x:0' shape=() dtype=int32>

tensorflow placeholder

正如这个名字一样,hold on,hold on,告诉计算机等等在把值传给你,嘻嘻嘻嘻

python 复制代码
a=tf.placeholder('int32')
b=tf.placeholder('int32')
c=tf.multiply(a,b)
with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    print('c=',sess.run(c,feed_dict={a:6,b:7}))
复制代码
c= 42
tensorflow数值运算常用的方法
  • tf.add(x,y)
  • tf.subtract(x,y)#减法
  • tf.multiply(x,y)
  • tf.divide(x,y)
  • tf.mod(x,y)#余数
  • tf.sqrt(x,name=None)
  • tf.abs(x,name=None)

tensorboard

正如其名,可视化已经建立的计算图

python 复制代码
#承接上面的session
#下面代码将显示在tensorboard的数据写在log文件中
tf.summary.merge_all()#将显示在board的数据整合
train_writer=tf.summary.FileWriter('log/c',sess.graph)#写入log文件中
启动tensorboard的方法
  • activate tensorflow(虚拟环境名称)
  • tensorboard --logdir=c:\python\log\c
  • 用浏览器打开http://lacalhost:6006/

建立一维与二维张量

建立一维张量
python 复制代码
ts_x=tf.Variable([0.4,0.2,0.4])
with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    x=sess.run(ts_x)
    print(x)
复制代码
[0.4 0.2 0.4]
python 复制代码
x.shape
复制代码
(3,)
建立二维张量
python 复制代码
ts_x=tf.Variable([[0.4,0.2,0.4]])
with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    x=sess.run(ts_x)
    print(x)
复制代码
[[0.4 0.2 0.4]]
python 复制代码
x.shape
复制代码
(1, 3)
建立新的二维张量
python 复制代码
ts_x=tf.Variable([[0.4,0.2],
                 [0.3,0.4],
                 [-0.5,0.2]])
with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    x=sess.run(ts_x)
    print(x)
复制代码
[[ 0.4  0.2]
 [ 0.3  0.4]
 [-0.5  0.2]]
python 复制代码
x.shape
复制代码
(3, 2)

矩阵的基本运算

矩阵的加法
python 复制代码
x=tf.Variable([[1.,1.,1.]])
w=tf.Variable([[-0.1,-0.2],
              [-0.3,0.4],
              [0.5,0.6]])
xw=tf.matmul(x,w)

with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    print(sess.run(xw))
复制代码
[[0.09999999 0.8       ]]
矩阵乘法与加法
python 复制代码
x=tf.Variable([[1.,1.,1.]])
w=tf.Variable([[-0.1,-0.2],
              [-0.3,0.4],
              [0.5,0.6]])
b=tf.Variable([[0.1,0.2]])
xwb=tf.matmul(x,w)+b

with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    print(sess.run(xwb))
复制代码
[[0.19999999 1.        ]]
相关推荐
树獭非懒3 小时前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
KaneLogger3 小时前
【Agent】openclaw + opencode 打造助手 安装篇
人工智能·google·程序员
知识浅谈4 小时前
一步步带你把 OpenClaw 玩宕机(附云服务器避坑部署教程)
人工智能
冬奇Lab4 小时前
OpenClaw 深度解析(四):插件 SDK 与扩展开发机制
人工智能·开源·源码阅读
IT_陈寒6 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
机器之心6 小时前
让AI自我进化?斯坦福华人博士答辩视频火了,庞若鸣参与评审
人工智能·openai
iceiceiceice6 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
唐叔在学习6 小时前
就算没有服务器,我照样能够同步数据
后端·python·程序员
AI攻城狮7 小时前
RAG Chunking 为什么这么难?5 大挑战 + 最佳实践指南
人工智能·云原生·aigc