初识tensorflow程序设计模式

news/2024/6/15 18:38:49 标签: tensorflow, 人工智能, python

文章目录

  • 建立'计算图'
  • tensorflow placeholder
  • tensorboard
          • 启动tensorboard的方法
  • 建立一维与二维张量
          • 建立一维张量
          • 建立二维张量
          • 建立新的二维张量
  • 矩阵的基本运算
          • 矩阵的加法
          • 矩阵乘法与加法

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_41">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_58">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.        ]]

http://www.niftyadmin.cn/n/5378889.html

相关文章

【深度学习每日小知识】全景分割

全景分割 全景分割是一项计算机视觉任务&#xff0c;涉及将图像或视频分割成不同的对象及其各自的部分&#xff0c;并用相应的类别标记每个像素。与传统的语义分割相比&#xff0c;它是一种更全面的图像分割方法&#xff0c;传统的语义分割仅将图像划分为类别&#xff0c;而不…

算法训练营day29, 贪心算法3

import ( "sort" ) // 1005. K 次取反后最大化的数组和 func largestSumAfterKNegations(nums []int, k int) int { //先从小到大排序 sort.Ints(nums) sum : 0 //将数组中负数转为正数 for i : 0; i < len(nums); i { if nums[i] < 0 && k > 0 …

《Java 简易速速上手小册》第3章:Java 数据结构(2024 最新版)

文章目录 3.1 数组和字符串 - 数据的基本营地3.1.1 基础知识3.1.2 重点案例&#xff1a;统计文本中的单词频率3.1.3 拓展案例 1&#xff1a;寻找数组中的最大元素3.1.4 拓展案例 2&#xff1a;反转字符串 3.2 集合框架概述 - 数据小队的训练场3.2.1 基础知识3.2.2 重点案例&…

作物模型狂奔:WOFOST(PCSE) 数据同化思路

去B吧&#xff0c;这里没图 整体思路&#xff1a;PCSE -》 敏感性分析 -》调参 -》同化 0、准备工作 0.0 电脑环境 我用的Win10啦&#xff0c;Linux、Mac可能得自己再去微调一下。 0.1 Python IDE 我用的Pycharm&#xff0c;个人感觉最好使的IDE&#xff0c;没有之一。 …

每日OJ题_算法_递归③力扣206. 反转链表

目录 力扣206. 反转链表 解析代码 力扣206. 反转链表 206. 反转链表 LCR 024. 反转链表 难度 简单 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,…

HTTP 响应状态代码

HTTP 响应状态代码 HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。 响应分为五类&#xff1a; 信息性回复 &#xff08; 100 – 199​)成功响应 &#xff08; 200 – 299​)重定向消息 &#xff08; 300 – 399​)客户端错误响应 &#xff08; 400 – 499​)服务器错误…

指纹识别描述

指纹由于其终身不变性、唯一性和方便性&#xff0c;几乎已成为生物特征识别的代名 词。通常我们说的指纹就是人的手指末端正面皮肤上凸凹不平的纹线&#xff0c;纹线规律地排列 形成不同的纹型。而本节所讲的指纹是指网站CMS 指纹识别、计算机操作系统及W eb 容器的指纹识别等…

SpringBoot RabbitMQ收发消息、配置及原理

今天分析SpringBoot通过自动配置集成RabbitMQ的原理以及使用。 AMQP概念 RabbitMQ是基于AMQP协议的message broker&#xff0c;所以我们首先要对AMQP做一个简单的了解。 AMQP (Advanced Message Queuing Protocol) is a messaging protocol that enables conforming client a…