zoukankan      html  css  js  c++  java
  • TensorFlow——tensorflow编程基础

    0.tensorflow中的模型运行基础

    tensorflow的运行机制属于定义和运行相分离,在操作层面可以抽象成两种:模型构建和模型运行。

    在模型构建中的常见概念:

      张量(tensor):数据,即某一类型的多为数组

      变量(Variable):常用于定义模型中的参数,是通过不断训练得到的值

      占位符(placeholder):输入变量的载体,也可以理解成模型的参数

      图中的节点操作(operation,op):即一个op获得0个或多个tensor,执行得到,输出得到的tensor

    计算图代表一个计算任务,在模型运行的环节中,图会在会话中被启动,session将图中的op分发到CPU或GPU子类的设备上,同时提供执行op的方。这些方法执行后,将产生tensor返回,在python中返回的是numpy的ndarray对象,在C/C++中返回的tensor是TensorFlow::Tensor实例

    session与图交互过程中还定义了下面两种数据流向机制:

      注入机制(feed):通过占位符模型传入数据

      取回机制(fetch):从模型中得到结果

    import tensorflow as tf
    
    hello = tf.constant('hello world')
    sess = tf.Session()
    print(sess.run(hello))
    sess.close()

    建立session,在session中输出hello,world,通过run方法得到hello的值,下面使用with session的作用

    # /usr/bin/python
    # -*- encoding:utf-8 -*-
    
    import tensorflow as tf
    import numpy as np
    
    a = tf.constant(4)
    b = tf.constant(2)
    
    with tf.Session() as sess:
        print("相加: a + b ", sess.run(a+b))
        print("相乘: a * b ", sess.run(a*b))

    with session的用法是最常见的,它使用python中的with语法,即当程序结束时,会自动关闭session,不需要写close。

    下面演示注入机制,使用注入机制,将具体的实参注入到相应的placeholder中。feed只在调用的方法内有效,方法结束后feed就会自动消失。

    import tensorflow as tf
    import numpy as np
    
    a = tf.placeholder(tf.int32)
    b = tf.placeholder(tf.int32)
    add = tf.add(a, b)
    mul = tf.multiply(a, b)
    
    with tf.Session() as sess:
        print("相加: ", sess.run(add, feed_dict={a:3, b:2}))
        print("相乘: ", sess.run(mul, feed_dict={a:4, b:6}))

    构建session的其他方法

    交互式的session方式

    通常是在交互的环境下使用,具体的用法和with session类似,代码如下:

    sess = tf.InteractiveSession()

    Supervisor方式:这种方法可能会更高级些,使用的时候也更加的复杂,可以自动的管理session中的具体任务,比如,载入/载出检查点文件,写入tensorboard等,另外该方式还支持分布式的训练任务部署。

  • 相关阅读:
    面试题 Comparable、Comparator 比较
    Longest Palindromic Substring
    Permutation Sequence
    Spring Boot_打造企业级微信点餐系统_汇总贴
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
  • 原文地址:https://www.cnblogs.com/baby-lily/p/10924181.html
Copyright © 2011-2022 走看看