学习笔记1

深度学习入门1(基于python的理论与实现)

  • python内容的简单回顾
    • 访问元素
    • 绘制图片
    • 生成Numpy数组
    • 显示图片
    • 广播

python内容的简单回顾

访问元素

# coding=utf-8
import numpy as np

x = np.array([[51, 55], [14, 19], [0, 4]])
print(x)
print(x[0])  # 访问第0行元素 ,从0行开始
print(x[0][1])  # 55
"""使用for 循环取出每行元素"""
for row in x:
    print(row)

x = x.flatten()  # 将x(np.narray类型)的数,转换为一维数组
print(x)

B = x[np.array([[0, 2, 4]])]  # 取索引位置为0,2,4的元素
print(B)
C = x > 15  # 从x中抽取大于15的元素,大于的话为true,小于为false,保存为一个np.ndarray类型数组
print(C)  # [ True  True False  True False False]
print(x[x > 15])  # 方框里是筛选条件,可以填比较值,可以填索引值

绘制图片

# coding=utf-8

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 6, 0.1)  # 以0.1为单位,生成0到6的数据
print(type(x))  # 
print(x)  # 一维数组,【0,6】步长为0.1
y1 = np.sin(x)
plt.plot(x, y1)
plt.show()
y2 = np.cos(x)
plt.plot(x, y1, label="sin")  # 线的标签
plt.plot(x, y2, linestyle="--", label="cos")  # 用虚线绘制
plt.xlabel("x")  # x轴标签   注意 是label 不是lable
plt.ylabel("y")  # y轴标签
plt.title("sin & cos")
plt.legend()  # 画两组线型图,使用legend(),注意两组线段必须有label,否则不会显示图例
plt.show()

运行结果:
学习笔记1_第1张图片

生成Numpy数组

# coding=utf-8
import numpy as np

x = np.array([1.0, 2.0, 3.0])
print(x)  # [1. 2. 3.]  列表
print((type(x)))  #   numpy下的ndarray

A = np.array([[1, 2], [3, 4]]) # array是一个函数,()可将列表转换为 numpy 的列表,括号内可以嵌套列表
print(A)
'''
[[1 2]
 [3 4]]
'''
print(A.shape)  # (2, 2)
print(A.dtype)  # int32

B = np.array([[3, 0], [0, 6]])
"""
[3 0]
 [0 6]]
"""
print(A+B)
"""
[[ 4  2]
 [ 3 10]]
"""
print(A * B)  # 对应元素相乘 放到各自位置,不是矩阵相乘,而是对应值相乘

显示图片

# coding=utf-8

import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread("lena.png")  # 以np.ndarray的形式保存图片
plt.imshow(img)  # imshow()其实就是将数组的值以图片的形式展示出来
plt.show()
print(type(img))


运行如下:
学习笔记1_第2张图片

广播

# coding=utf-8
import numpy as np

A = np.array([[1, 2], [3, 4]])
print(A * 10)
# np.narray 类型的数乘上一个标量得到 每个数 乘上标量
B = np.array([10, 20])
print(A*B)  # A中的每个列表元素乘上B


运行结果:
[[10 20]
[30 40]]
[[10 40]
[30 80]]

你可能感兴趣的:(python)