Tensorflow学习笔记:Tensorflow基础复习

#tensorflow图操作
    1、graph = tf.get_default_graph()获取默认图,返回图所在的内存空间
    2、new_graph = tf.Graph()    创建新图
    with new_graph.as_default():    #使用上下文环境
        c = tf.constant(11.0)
        
    3、一张图包含了一组op和tensor
    op:只要使用tf的API定义的函数接口都是op
    tensor:就是指代数据,有的op内部装有tensor
#tensorflow前端系统与后端系统
    前端系统:定义图的结构
    后端系统:会话:运行图的结构,分配cpu与gpu资源,掌控资源(TF变量生命周期、队列、线程)
#session.run()
    用session.run()启动一个图的运行,用sess.close()释放内存
    使用上下文管理器运行会话,结束后自动调用sess.close()释放资源
    with tf.Session() as sess:
        sess.run()
    sess内的参数congif = tf.ConfigProto(log_device_placement = True)
#变量的eval函数
    有了上下文函数,就可以使用a.eval()来run出a的值
#会话的run函数
    run([])如果需要计算多个op,需要用列表传入    
    不能运行非op,如python自带的int
    可以用int + op,比如a = 3,b = tf.constant(2)+a,则b是op    
    
#feed_dict
    可以给变量赋不同的值给placeholder,用于实时提供数据进行训练

#placeholder(一种op)
    placeholder(dtype,shape = None,name = None)
    比如    
    a = tf. placeholder(float32,[2,3])    
    with tf.Session() as sess:
        sess.run(a,feed_dict = {a:[[1,2,3],[4,5,6]]})
    行数不确定,用None代替,传入时可以传入多组数量不定的数据
    
#张量的阶
    一个类型化的数据格式tf.Tensor()
    张量存在于一个op中,有三个重要参数
    Tensor("op_name:0",shape,dtype)

#数据类型dtype
    tf.float32 float64 #float64其实会被转化成float32,并没有实际意义
    tf.int64 int32 int16 int8 uint8    #一般用int32
    tf.string 长度可变的字符数组

#张量的属性
    graph
    op
    name 
    shape
#shape讲解
    维数    打印结果
    0    ()
    1     (5)
    2    (5,7)
    3    (?,3,4)
    ...    ...
    打印问好则未固定
#shape的动态修改和静态修改
    静态修改
        tf.Tensor.get_shape()获取形状
        tf.Tensor.set_shape()静态设置形状
    对于静态形状而言,一旦形状确定(没有None)则不能再改变,且维度也不能修改

    动态修改
        tf.reshape()    
    元素总量不能改变,否则多余的数据和少的数据无法处理或补全
    对于元素数量未定的张量,可以将之更改为任意类型的张量
    
#张量操作->生成张量
    tf.zeros(shape,dtype,name=None)
    tf.ones(shape,dype,name=None)
    创建随机值张量
    tf.random_normal(shape,mean,stddev=1.0,dtype=tf.float32,seed=None,name=None)

#张量数据类型转换
    tf.cast(src,dtype,name=None)
#张量合并
    tf.concat((value1,value2...),axis = 0)
    #axis代表用行还是列拼接
#变量tf.Variable()
    也是一种op,是一种特殊的张量,默认能够被训练
#变量的创建
    tf.Varibale(initial_value = None,name=None,trainable = True)
#变量的初始化
    init_op = tf.global_variables_initializer()
    sess.run(init_op)

#可视化tensorboard
    tf.summery.FileWriter('path',graph=x) #x可以是get_default_graph得到的,也可以是一个图中变量a.graph得到的;path是路径名,不是文件名,文件名由程序决定
    然后命令行下输入
    tensorboard --logdir="C:\Users\xie\event"
    路径下如果有多个文件,默认取最新的文件
    op节点都有name参数,用于设置在tensorboard中显示的名字


    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值