zoukankan      html  css  js  c++  java
  • 【tensorflow+numpy】矩阵

    一、tensorflow

    1.定义矩阵、获取指定行列元素

    代码:

    import tensorflow.compat.v1 as tf
    tf.disable_eager_execution()      # 保证sess.run()能够正常运行
    
    data1 = tf.constant([[1, 2],      # 声明矩阵
                         [3, 4],
                         [5, 6]])
    print(data1.shape)                # 输出矩阵维度
    
    with tf.Session() as sess:
        print(sess.run(data1[1]))     # 输出矩阵第2行
        print(sess.run(data1[:, 1]))  # 输出矩阵第2列
        print(sess.run(data1[1, 1]))  # 输出矩阵第2行、第2列的数据

    输出结果:

     

    2.矩阵的乘法和加法

    代码:

    import tensorflow.compat.v1 as tf
    tf.disable_eager_execution()              # 保证sess.run()能够正常运行
    
    data1 = tf.constant([[1, 2]])             # 声明矩阵
    data2 = tf.constant([[3],
                         [4]])
    data3 = tf.constant([[5, 6]])
    
    matMul = tf.matmul(data1, data2)          # 两矩阵相乘
    matAdd = tf.add(data1, data3)             # 两矩阵相加
    
    with tf.Session() as sess:
        print(data1.shape, "*", data2.shape)
        print(sess.run(matMul))               # 输出相乘结果
        print(data1.shape, "+", data3.shape)
        print(sess.run(matAdd))               # 输出相加结果

    输出结果:

     

    3.定义全 0 、全 1 和自动填充矩阵

    代码:

    import tensorflow.compat.v1 as tf
    tf.disable_eager_execution()  # 保证sess.run()能够正常运行
    
    data1 = tf.zeros([2, 3])      # 全0矩阵
    data2 = tf.ones([2, 1])       # 全1矩阵
    data3 = tf.fill([2, 2], 3)    # 自动填充矩阵
    with tf.Session() as sess:
        print(sess.run(data1))    # 输出结果
        print(sess.run(data2))
        print(sess.run(data3))

    输出结果:

     

    4.其他特殊形式的矩阵

    代码:

    import tensorflow.compat.v1 as tf
    tf.disable_eager_execution()              # 保证sess.run()能够正常运行
    
    data1 = tf.constant([[2, 3, 4],
                         [5, 6, 7]])
    data2 = tf.zeros_like(data1)              # 相同维度的全0矩阵
    data3 = tf.lin_space(0.0, 12.0, 3)        # 范围内的均分矩阵
    data4 = tf.random_uniform([2, 2], -2, 5)  # 范围内的随机矩阵
    with tf.Session() as sess:
        print(sess.run(data2))                # 输出结果
        print(sess.run(data3))
        print(sess.run(data4))

    输出结果:

     

    二、numpy

    numpy 是一个运行速度非常快的数学库,支持大维度的数组与矩阵运算。

    代码:

    import numpy as np
    data1 = np.array([[1, 2, 3],    # 定义矩阵
                      [4, 5, 6]])
    data2 = np.zeros([2, 3])        # 定义全0矩阵
    data3 = np.ones([2, 3])         # 定义全1矩阵
    data4 = np.ones([3, 1])
    
    print(data1 * 2)                # 矩阵所有元素*2
    print(data1 + data2)            # 矩阵相加
    print(data1 * data3)            # 相同位置的元素相乘
    print(np.matmul(data1, data4))  # 矩阵乘法

    输出结果:

  • 相关阅读:
    刷题总结——疫情控制(NOIP2012提高组)
    刷题总结——竞赛得分(ssoj)
    刷题总结——货车运输
    刷题总结——火柴排队(NOIP2013)
    刷题总结——烽火传递(单调队列+dp)
    刷题总结——道路覆盖(ssoj)
    刷题总结——过河(NOIP2015)
    刷题总结——子串(NOIP2015提高组)
    linux shell 学习笔记--文件测试符
    linux shell 学习笔记--比较操作
  • 原文地址:https://www.cnblogs.com/bjxqmy/p/13466429.html
Copyright © 2011-2022 走看看