IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Tensorflow框架学习记录--day01--张量与变量 -> 正文阅读

[人工智能]Tensorflow框架学习记录--day01--张量与变量

Tensorflow框架学习记录–day01–张量与变量

张量(Tensor)

tensorflow的张量就是一个n维数组,类型维tf.Tensor。
tensor具有以下两个重要的属性:

1. type:数据类型
2. shape:形状(阶

张量在计算机中如何存储?
标量 一个数字 0阶张量
向量 一维数组 1阶张量
矩阵 二维数组 2阶张量

张量 n维数组 n阶张量

创建张量的时候,如果不指定类型
默认:tf.float32
整型 tf.int32
浮点型 tf.float32

创建张量的指令

固定值张量:

tf.zeros(shape,dtype=tf.float32,name=None)

tf.ones(shape,dtype=tf.float32,name=None)

tf.constant(value,dtype=None,shape=None,name='Const')

创建随机张量:
(从正态分布中输出随机值,由随机正态分布的数字组成矩阵)

tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)

其他特殊的创建张量的op:

tf.Variable

tf.placeholder

张量的变换

1 类型改变

提供了如下一些改变张量中数值类型的函数:
在这里插入图片描述

2 形状改变

tensorflow的张量具有两种形状变换,动态形状和静态形状

#动态
tf.reshape
#静态
tf.setshape

关于动态形状和静态形状必须符合以下规则:

1. 静态形状:
转换静态形状的时候,1-D到1-D,2-D到2-D,不能跨阶数改变形状。
对于已经固定的张量的静态形状的张量,不能再次设置静态形状。
2. 动态形状:
tf.reshape()动态创建新张量时,张量的元素个数必须匹配。

张量的数学运算

算数运算符
基本数学函数
矩阵运算
reduce操作
序列索引操作

详细请参考:
https://www.tensorflow.org/versions/r1.8/api_guides/python/math_ops
(这个api好像要翻墙才能使用)

下面po一些相关的代码:

def tensor_demo():
    """
    张量的演示
    :return:
    """
    tensor1 = tf.constant(4.0)
    tensor2 = tf.constant([1, 2, 3, 4])
    linear_squares = tf.constant([[4], [9], [16], [25]], dtype=tf.int32)

    print("tensor1:\n", tensor1)
    print("tensor2:\n", tensor2)
    print("linear_squares_before:\n", linear_squares)

    # 张量类型的修改
    l_cast = tf.compat.v1.cast(linear_squares, dtype=tf.float32)
    print("linear_squares_after:\n", linear_squares)
    print("l_cast:\n", l_cast)

    # 更新/改变静态形状
    # 定义占位符
    # 没有完全固定下来的静态形状
    a_p = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, None])
    b_p = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, 10])
    c_p = tf.compat.v1.placeholder(dtype=tf.float32, shape=[3, 2])#三行二列
    print("a_p:\n", a_p)
    print("b_p:\n", b_p)
    print("c_p:\n", c_p)

    # 更新形状未确定的部分
    a_p.set_shape([2, 3])
    b_p.set_shape([2, 10])
    print("a_p:\n", a_p)
    print("b_p:\n", b_p)

    # 动态形状修改
    a_p_reshape = tf.reshape(a_p, shape=[2, 3, 1])
    print("a_p_reshape:\n", a_p_reshape)

    return None

变量OP

tensorflow变量是表示程序处理的共享持久状态的最佳方法,变量通过tf.Variable OP类进行操作,变量的特点:
存储持久化
可修改值
可指定被训练

创建变量

tf.Variable(initial_value=None,trainable=True,collections=None,name=None)
initial_value:初始化的值
trainable:是否被训练
collections:新变量将添加到列出的图的集合中collections,如果trainabel是True变量也被添加到图形集合GraphKeys.TRAINABLE_VARIABLES

变量需要显式初始化,才能运行值。

使用tf.variable_scope()修改变量的命名空间

会在OP的名字前面增加命名空间的指定名字。

以下是相关代码:

def variable_demo():
    """
    变量的演示
    """
    # 创建变量
    with tf.compat.v1.variable_scope("my_scope"):
        a = tf.Variable(initial_value=50)
        b = tf.Variable(initial_value=40)
    with tf.compat.v1.variable_scope("your_scope"):
        c = tf.add(a, b)

    print("a:\n", a)
    print("b:\n", b)
    print("c:\n", c)

    # 初始化变量
    init = tf.compat.v1.global_variables_initializer()

    # 开启会话
    with tf.compat.v1.Session() as  sess:
        # 运行初始化
        sess.run(init)
        a_value, b_value, c_value = sess.run([a, b, c])
        print("a_value:\n", a_value)
        print("b_value:\n", b_value)
        print("c_value:\n", c_value)

    return None
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:11:31  更:2022-03-11 22:14:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 15:47:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码