【学习笔记】TensorFlow学习笔记(C语言中文网教程)

一、基础

学习资料:TensorFlow教程:TensorFlow快速入门教程

1. Hello world!

练习源码:

import tensorflow as tf

message = tf.constant('Hello world!')
with tf.Session() as sess:
    # print(sess.run(message).decode())
    print(sess.run(message))

  • 输出信息:
    在这里插入图片描述
    提示TensorFlow代码可以以更快的速度运行(需通过源码安装),若想要屏蔽提示信息,可以在代码中加入以下内容:
    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
    
    这段代码的作用是忽略级别 2 及以下的消息(级别 1 是提示,级别 2 是警告,级别 3 是错误)。
  • .decode() 作用:
    print 函数向 stdout 输出的结果是
    b'Hello world'
    
    b表示字节(byte),而decode操作删除字符串引号和“b”只保留单引号内的内容。

2. TensorFlow程序结构

  • 核心思想:
    程序结构分为两部分:计算图的定义执行
  • 定义过程只定义变量名和建立网络结构,可以不进行赋值。
  • 执行方式:
    with tf.Session() as sess:
    	print(sess.run(v1_add_v2))
    
    或者是
    sess = tf.Session()
    print(sess.run(v1_add_v2))
    sess.close()
    
    其中,v1_add_v2代表要被执行的操作。
  • sess.run() 一次可以提取一个或多个张量或操作对象.

3. 常量、变量、占位符

  • tf.linspace输出包含终值;且输出含浮点数时,表达式中也应使用浮点数。
  • tf.range输出不包含终值。
  • seed()作用:相同的种子生成的(伪)随机数相同,系统默认根据时间来自己选择种子。
  • tf.truncated_normal():在±2σ处截断(超过则重新生成)。
  • tf.random_crop随即剪裁
  • tf.random_shuffle随机排列
  • 变量初始化:tf中必须显式初始化所有声明变量
    • 方法①:返回一个初始化所有全局变量的操作(Op)
      init = tf.global_variables_initializer()
      with tf.Session() as sess:
      	print(sess.run(init))
      
    • 方法②
      with tf.Session() as sess:
      	print(sess.run(tv1.initializer))
      
  • tf.placeholder定义占位符时必须指定数据类型
  • 需要大规模的常量张量对象时,为优化内存,将它们声明为一个可训练标志设置为 False 的变量:
    t_large = tf.Varible(large_array,trainable = False)
    
  • 所有的 TensorFlow 数据类型都是基于 Numpy 的,使用 tf.convert_to_tensor() 可以将给定的值转换为张量类型。
  • 与 Python/Numpy 序列不同,TensorFlow 序列不可迭代。例如:
    for i in tf.range(10)
    
    将会报错
    # typeError("'Tensor'object id not iterable.")
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值