zoukankan      html  css  js  c++  java
  • 神经网络的基础-Graph,Session

    张量:基于 Tensorflow 的 NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。

    张量:张量就是多维数组(列表),用“阶”表示张量的维度。
    0 阶张量称作标量,表示一个单独的数;
    举例 S=123
    1 阶张量称作向量,表示一个一维数组;
    举例 V=[1,2,3]
    2 阶张量称作矩阵,表示一个二维数组,它可以有 i 行 j 列个元素,每个元素可
    以用行号和列号共同索引到;
    举例 m=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    判断张量是几阶的,就通过张量右边的方括号数,0 个是 0 阶,n 个是 n 阶,张
    量可以表示 0 阶到 n 阶数组(列表);
    举例 t=[ [ [… ] ] ]为 3 阶

    计算图(Graph): 搭建神经网络的计算过程,是承载一个或多个计算节点的一张图,只搭建网络,不运算。

    会话(Session): 执行计算图中的节点运算。 


    我的理解:像是逻辑关系一样,输入x时,需要算法算出对应的输出y;计算图就是x1*w1+x2*w2;而会话就是=;

     python实现:

    import tensorflow as tf
    #引入模块 
    x = tf.constant([[1.0, 2.0]])     #定义一个 2 阶张量等于[[1.0,2.0]] 
    w = tf.constant([[3.0], [4.0]])   #定义一个 2 阶张量等于[[3.0],[4.0]] 
    y = tf.matmul(x, w)               #实现 xw 矩阵乘法 
    print y                           #打印出结果 
    with tf.Session() as sess: 
        print sess.run(y)            #执行会话并打印出执行后的结果 
    可以打印出这样的结果: 
    Tensor(“matmul:0”, shape(1,1), dtype=float32) 
    [[11.]]  
    我们可以看到,运行Session()会话前只打印出y是个张量的提示,运行Session()
    会话后打印出了 y 的结果 1.0*3.0 + 2.0*4.0 = 11.0。 
    学习内容来自:慕课APP中人工智能实践-Tensorflow笔记;北京大学曹健老师的课程
  • 相关阅读:
    [国嵌攻略][183][账号管理子系统设计]
    [国嵌攻略][182][Sqlite嵌入式数据库移植]
    [国嵌攻略][181][线程池技术优化]
    [国嵌攻略][180][加密传输优化]
    [国嵌攻略][179][OpenSSL加密系统]
    [国嵌攻略][178][网络安全传输系统框架搭建]
    [国嵌攻略][177][网络安全传输系统模型设计]
    [国嵌攻略][174][CGI快速入门-网页控制LED]
    [国嵌攻略][173][BOA嵌入式服务器移植]
    [转载]Architecture and framework
  • 原文地址:https://www.cnblogs.com/fcfc940503/p/10928905.html
Copyright © 2011-2022 走看看