Tensorflow(二)基本概念

本文介绍了张量的基本概念,包括张量的阶数确定、形状理解,以及使用TensorFlow中的`tf.constant`和`tf.random_normal`函数实例。重点讲解了如何创建张量、理解其shape属性,并展示了变量的定义与初始化。此外,还介绍了如何收集张量值的summary方法。
摘要由CSDN通过智能技术生成

一 张量

首先,学习张量要注意两个点,张量的形状和维度(阶)

1 阶

 由上图我们可以直到,想要判断是几阶,可以看最左边有几个左括号,0阶没有括号,一阶有一个,两阶有两个,三阶有三个,以此类推·······

2  形状

shape指明每一层有多少个元素。

比如[2,3,4]是指第一层2个元素,第二层3个元素,第三层4个元素,通过这个我们就可以知道这个张量一共有2 × 3 × 4=24 个元素。而且它有3层,因此可以知道这个张量的rank=3
注意:读取元素,从外括号往内括号读

import tensorflow as tf
# 定义了一个张量,有6个元素,设置他的形状是[2.3]
a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2,3])
with tf.Session() as session:
    print(session.run(a))

输出结果:

[[1 2 3] [4 5 6]]

3 张量的其他用法

    1 .tf.random_normal()函数用于从“服从指定正态分布的序列”中随机取出指定个数的值。

 其中主要参数如下:

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

    shape: 输出张量的形状,必选
    mean: 正态分布的均值,默认为0
    stddev: 正态分布的标准差,默认为1.0
    dtype: 输出的类型,默认为tf.float32
    seed: 随机数种子,是一个整数,当设置之后,每次生成的随机数都一样
    name: 操作的名称


    2.  tf.Variable()函数是形成一个变量。

  其中主要参数如下:

    tf.Variable( initial_value=None, trainable=None, validate_shape=True, caching_device=None,
name=None, variable_def=None, dtype=None, import_scope=None, constraint=None,
synchronization=tf.VariableSynchronization.AUTO,
aggregation=tf.compat.v1.VariableAggregation.NONE, shape=None
)

initial_value:所有可以转换为张量的类型,是变量初始值
trainable:只有当trainable为 true 时才能对其使用Optimizer,默认为true。在迁移学习指定某些网络结构不被训练。

collections:类型为 list 指定该变量的类型
在 Tensorflow 中,变量的定义与初始化是分开的,一开始,tf.Variable()得到的是张量,而张量并不是具体的值,而是计算过程。
在 Tensorflow 中变量只有被定义为(Variable)变量后才是变量

3.tf.summary.scalar("error",error):收集零维度的值

   tf.summary.histogram("weights",weights):收集高纬度的张量值

4. tf.Tensor.eval()
功能:当默认的会话被指定之后可以通过其计算一个张量的取值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值