zoukankan      html  css  js  c++  java
  • 入门

    专业基础概念

      1.Anaconda : Python用于深度学习的一站式开发环境,拥有Python的用于深度学习的库,方便简洁

      2.Opencv:(open source computer vision library) 开源计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法

      3.Tensorflow :人工智能学习系统,语音,图片识别,tensorflow是一个基于数据流编程的符号数学系统,被广泛用于各类机器学习算法的编程实现

      4.Numpy:  numpy系统是Python的一种开源的计算扩展,可以用来存储和处理大型矩阵,计算过程相比python自身的嵌套列表的结构要高效的多

      5.Matplotlib: matplotlib是python的一个2D绘图库,它可以拷贝格式和跨平台的交互环境生成出版质量级别的图形,可以绘制直方图,功率谱,条形图,错误图,散点图等

    1.tensorflow

      1.常用api  

        import tensorflow as tf   # tensorflow 模块的引入

        tf.constant()         # 常量的定义

        tf.variable(0, name='num')          # 变量的定义, 第一个参数为变量的初始值,第二个参数是变量的name

        tf.Session()          # 上下文的创建

        sess.close()         # 关闭session

        print(sess.run())      # 内容的打印输出

        tf.assign(data1, data2)    # 将data2中的值赋值为data1, 返回值为赋值后data1的值

        tf.get_default_session().run(variables)    # 获取默认session打印变量的值

        variables.eval()             # 变量获取默认session直接打印出值

        tf.placeholder()           # 用于声明一个具体数据类型的变量

      实例一:使用tensorflow实现“hello world” 的打印

    import tensorflow as tf
    
    hello = tf.constant('hello world')   # 定义字符串
    sess = tf.Session()    # 创建上下文
    print(sess.run(hello))   # 打印
    View Code

      注意: 1.如果程序中定义了变量,那么就一定需要将变量初始化

      实例二:初始化变量

    import tensorflow as tf
    
    number = tf.Variable(0, name='num')  # 定义一个变量
    init = tf.global_variables_initializer()  # 初始化程序中的所有变量
    with tf.Session() as sess:
        sess.run(init)
    View Code

      实例三:变量重新赋值,获取默认session,打印数值

    import tensorflow as tf
    
    data1 = tf.constant(3)
    data2 = tf.Variable(2)
    
    dataAdd = tf.add(data1, data2)
    
    dataCopy = tf.assign(data2, dataAdd)   # 将dataAdd中的值赋值给data2
    
    init = tf.global_variables_initializer()   # 初始化程序中的变量
    with tf.Session() as sess:
        sess.run(init)
        print(sess.run(dataCopy))
        print(dataCopy.eval())          # 获取默认的session,打印出datacopy的值
        print(tf.get_default_session().run(dataCopy))
    View Code

       实例四:placeholder的使用

    import tensorflow as tf
    
    # placeholder的使用
    data1 = tf.placeholder(tf.int32)
    data2 = tf.placeholder(tf.int32)
    
    dataAdd = data1 + data2
    with tf.Session() as sess:
        print(sess.run(dataAdd, feed_dict={data1: 1, data2: 3}))
    View Code

      

      2.常量与变量的四则运算

        tf.add(data1, data2)    # 加法

        tf.subtract()                # 减法

        tf.multiply()                # 乘法

        tf.divide()               # 除法

      3.矩阵基础

        1.矩阵的定义和特殊矩阵的初始化

          tf.constant([[1, 2], [3, 4]])   # 定义一个两行两列的矩阵

          tf.zeros([2, 3])                # 生成指定行列的空矩阵

          tf.ones ([2, 3])                     # 生成指定行列的全一矩阵

          tf.fill([2, 3], 1)                 # 生成指定行列的指定填充矩阵

          tf.zeros_like(mat)        # 生成一个和mat维度相同的空矩阵

          tf.random_uniform([2, 3], 1, 5)    # 在1到5之间随机选取填充指定维度的矩阵

        2.矩阵的运算

          。若矩阵之间进行加法运算,则必须保证,两个矩阵的行和列必须是一样的

          。若矩阵之间进行乘法运算,则必须保证, 第一个矩阵的列和第二个矩阵的行是一样的

          tf.add(data1, data2)    # 两个矩阵之间进行加法运算

          tf.matmul(data1, data2)    # 两个矩阵之间进行矩阵乘法运算

          tf.multiply(data1, data2)    # 两个矩阵之间进行普通的乘法运算

    2.opencv

      import cv2   # opencv的引入

      cv2.imread()    # 实现图片的读取,返回值为图片的数据内容,第一个参数是图片的绝对路径,第二个参数(0, 1),0为灰度图片,1为彩色图片

      cv2.imshow()    # 实现图片的显示,第一个参数为窗体名称,第二个参数是要显示图片的数据内容

      cv2.waitKey()   # 实现程序的stop

      cv2.write()     # 图片的写入,第一个参数是图片的名称,第二个参数图片的格式(jpg,png),第三个参数可以控制图片的文件的大小(压缩),jpg有损压缩,png无损压缩

      实例一:实现图片的读取和显示

    import cv2
    
    img_data = cv2.imread('imgs/image0.jpg', 1)   # 获取到图片的数据内容
    cv2.imshow('img', img_data)   # 显示图片
    cv2.waitKey()    # 为了图片一直显示在桌面上,所以我们需要将这个进程暂时的stop一下
    View Code

      实例二:实现图片的写入,有损压缩

    cv2.imwrite('1.jpg', jpg, [cv2.IMWRITE_JPEG_QUALITY, 50])
    View Code

       实例三:对像素的读写操作  , 注意:opencv读取出来的像素值是bgr顺序的

    import cv2
    
    img_data = cv2.imread('imgs/image0.jpg', 1)
    (b, g, r) = img_data[100, 100]   # 读取指定像素的内容
    print(b, g, r)  
    
    img_data[100, 100] = (0, 0, 255)   # 给指定像素写入指定的内容
    View Code

     3.numpy

       1.常用api

        np.array([[1, 2], [3, 4]])    # 使用numpy定义一个2*2的矩阵

        np.zeros([2, 3])          # 定义指定维度的空矩阵

        np.ones([2, 3])            # 定义指定维度的全一矩阵

        np.linspace(1, 15, 15)   # 可以定义一个呈线性增长的矩阵,这代码范围从1, 15, 一共有15个数据

      

    4.matplotlib

      。模块的导入方法: import matplotlib.pyplot as plt

      1.绘制折线图

        需要x轴数据, y轴数据, 折线图线的颜色‘r’, 折线图的线的粗细(lw= )

        plt.plot(x, y, 'r', lw=2)             # 绘制折线图

      实例一:绘制折线图

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.array([1, 2, 3, 4, 5, 6])  # 定义x的值
    y = np.array([3, 45, 54, 23, 5, 55])   # 定义y的值
    
    plt.plot(x, y, 'r', lw=2)       # 绘制折线图
    
    plt.show()    # 显示折线图
    View Code

      

    2.绘制柱状图

        需要x轴数据,y轴数据,柱状图的粗细, 柱状图的颜色深浅(透明度, 取值范围【0, 1】), 柱状图的颜色,

        plt.bar(x, y, 0.2, alpha=0.2, color=‘r’)             # 绘制柱状图

      实例二:绘制柱状图

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.array([1, 2, 3, 4, 5, 6])  # 定义x的值
    y = np.array([3, 45, 54, 23, 5, 55])   # 定义y的值
    
    plt.bar(x, y, 0.2, alpha=0.3, color='b')  # 绘制柱状图
    plt.show()   # 展示绘制好的柱状图
    View Code

     

     实例三:实现股票数据日线的绘制

    # 股票数据日线的绘制
    import numpy as np
    import matplotlib.pyplot as plt
    
    startPrice = np.array([20.12, 12.34, 23.33, 54.09, 33.12])  # 五天中每天的开盘价格
    endPrice = np.array([11.44, 41.45, 12.21, 90.32, 45.03])    # 对应开盘价格的五天收盘价格
    dataNum = np.linspace(1, 5, 5)   # 生成从一到五天的日期
    
    # print(dataNum)
    # 开始是使用折线图的方式画出柱状图, 需要二维的x值和二维的y值
    plt.figure()
    for i in range(5):
        dataMat = np.zeros([2])
        dataMat[0] = dataNum[i]
        dataMat[1] = dataNum[i]
    
        priceMat = np.zeros([2])
        priceMat[0] = startPrice[i]  # 当天的开盘价格
        priceMat[1] = endPrice[i]  # 当天的收盘价格
    
        if startPrice[i] > endPrice[i]:  # 判断当天的开盘价格和收盘价格的大小
            plt.plot(dataMat, priceMat, 'r', lw=5)
        else:
            plt.plot(dataMat, priceMat, 'g', lw=5)
    
        # 绘图完毕
    plt.show()
    View Code

      

  • 相关阅读:
    nikto web server 扫描工具
    crowdsec开源安全引擎
    windows strace 类似的工具
    禁用spring boot 暴露的几个产品可用的endppint 服务
    nginx proxy minio 默认页配置(三)
    nginx proxy minio 默认页配置(二)
    nginx proxy minio 默认页配置
    flamescope + chrome cpu profile 分析web 性能
    golang noCopy 的功能
    golang 死锁&&静态检查的一些工具
  • 原文地址:https://www.cnblogs.com/kangjunhao/p/10349729.html
Copyright © 2011-2022 走看看