zoukankan      html  css  js  c++  java
  • tensorflow学习

    在本节学习之前先学习一下python 的几个库:

    numpy:来存储和处理大型矩阵(比python内部的列表结构高效)

    python 中数据的表示:

    1.一维数据:(列表与集合)

       [3.12, 3.13,3.14] 

       {3.13, 3.12.3.14} 

    2. 二维数据:(列表类型)

      [[3.12, 3.13],[3.2, 3.3]]

    3. 多维数据: 列表类型

    4.高维数据:字典类型

    dict={

    "firstName":"Tian",

    "lastName": "Song",

    }

    numpy 的数据对象为ndarray

    ndarray 是N维数组对象: 由两个部分构成:(实际数据和描述数据的元数据如数据维度、数据类型等)

    #ndarray实例
    #ndarray在程序中的别名是:array
    import numpy as np
    a = np.array([[0,1,2,3,4],
                  [9,8,7,6,5]])
    print(a)  #np.array()输出成[]形式,元素由空格分割
    

    ndarray 对象的属性:

    .ndim   秩,维度的数量

    .shape   adarray 对象的尺度,n行m列

    .size    ndarray 对象元素的个数,.shape 中的n*m

    .dtype  ndarray 对象的元素类型

    .itemsize  ndarray 对象中每个元素的大小

    创建ndarray 数组:

    x = np.array(list/tuple)

    np.arange(n) 类似range()函数,返回ndarray类型,元素从0到n‐1

    np.ones(shape) 根据shape生成一个全1数组,shape是元组类型

    np.zeros(shape) 根据shape生成一个全0数组,shape是元组类型

    np.full(shape,val) 根据shape生成一个数组,每个元素值都是val

    np.eye(n) 创建一个正方的n*n单位矩阵,对角线为1,其余为0

    np.ones_like(a) 根据数组a的形状生成一个全1数组

    np.zeros_like(a) 根据数组a的形状生成一个全0数组

    np.full_like(a,val) 根据数组a的形状生成一个数组,每个元素值都是val

    np.linspace() 根据起止数据等间距地填充数据,形成数组

    np.concatenate() 将两个或多个数组合并成一个新的数组

    对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

    .reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变

    .resize(shape) 与.reshape()功能一致,但修改原数组

    .swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换

    .flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变

    Matplotlib:

    python中的绘图系统,

      scipy:

    统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器

    scikit-learn:

    机器学习工具, 如svm等方法都包含其中:

    首先创建所需算法的对象,然后在训练和测试集上构建一个模型获得预测:

    clf=svm.SVC(gamma=0.001,C=100)
    # train
    clf.fit(x,y)
    # test
    clf.predict(X_test)
    

      

    正式开始

    tensorflow 和 numpy相似

    tensorflow 的操作基本都是对session的操作,首先构建所有操作的Graph,然后调用session运行操作。tensorflow将内部数据表示转换的张量(Tensor,多维数组),整个Graph就是“张量流”,可以轻松地可视每个图中的每个部分, data flow graphs。graph 中的节点为数学操作,图中的边为节点间相互联系的多维数据数组(tensor)。变量保持自己的状态信息。

    在tensorflow 中运行程序的通常工作流程为:

    • 建立一个计算图    (构建节点和边)
    • 初始化变量  (预选定义参数)
    • 创建session
    • 在session 中运行图
    • 关闭session

    需要主要的地方:

    1. 既然先创建结构,在session创建之后才run,数据输入是怎么进行的?

         首先使用placeholder  定义输入的数据的类型,大小,作为graph的输入

         在真正run的时候使用feed_dict 将数值传递到计算图的字典中feed_dict={a: 2, b: 3}

         

  • 相关阅读:
    FPGA--Cyclone中的时钟资源
    网易的翻译蛋
    程序员的健康问题,水桶腰
    如何像如何像 NASA 顶级程序员一样编程 — 10 条重要原则
    FOC_矢量控制相关资料
    BLDC 无刷电机FOC驱动 STM32官方培训资料
    ueditor插入百度音乐无法播放-403 问题
    phpstudy APACHE支持.htaccess以及 No input file specified解决方案
    linux数据库备份脚本
    阿里云centos 搭建SVN
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7266514.html
Copyright © 2011-2022 走看看