下载链接及命令
- Python3.12.2
- Anaconda3-2024.02-1-Windows-x86_64.exe
- OpenCV:
pip3 install opencv-python(会自动安装Numpy) - Pandas:
pip3 install pandas - YOLO:
pip3 install ultralytics - Matplotlib:
python -m pip install -U matplotlib - JupyterLab:
pip3 install jupyterlab - Jupyter notebook:
pip3 install notebook - voila:
pip3 install voila
注意:以上命令可以在本地python创建myevn环境安装,也可以在Anaconda创建myevn环境安装
在Python中,我们通常使用conda(来自Anaconda或Miniconda)或venv(Python内置的环境管理工具)来创建新的虚拟环境。以下是两种方法的简要说明:
使用conda创建新环境
如果你已经安装了Anaconda或Miniconda,你可以使用conda命令来创建新的环境。以下是如何操作的步骤:
-
打开命令行界面(如CMD、PowerShell、Terminal等)。
-
创建新的环境,并指定Python版本(如果需要):
conda create --name myenv python=3.12.2这里
myenv是环境的名称,python=3.12.2指定了要安装的Python版本。你可以根据需要更改这些值。 -
激活新环境(在Windows上是
conda activate,在Unix或Mac上是source activate,但在较新的conda版本中,Unix和Mac也使用conda activate):conda activate myenv -
在新环境中安装所需的包:
conda install numpy pandas
使用venv创建新环境
如果你不想使用Anaconda或Miniconda,你可以使用Python内置的venv模块来创建新的环境。以下是步骤:
-
打开命令行界面。
-
导航到你想要创建环境的目录(可选)。
-
使用
python -m venv命令创建新环境:python -m venv myenv这将在当前目录下创建一个名为
myenv的新环境。 -
激活新环境(在Windows上使用
myenv\Scripts\activate,在Unix或Mac上使用source myenv/bin/activate):对于Windows:
myenv\Scripts\activate对于Unix或Mac:
source myenv/bin/activate -
在新环境中安装所需的包:
pip install numpy pandas
记住,使用venv创建的环境只会包含Python解释器和pip,其他所有包都需要你手动安装。而使用conda创建的环境会默认包含一些常用的科学计算和数据科学包。
Anaconda
Anaconda是一个流行的Python数据科学平台,它允许用户轻松地创建、管理和共享Python环境,以及安装和管理各种Python包。以下是Anaconda的一些常用命令及其解释:
-
创建虚拟环境
conda create --name env_name:创建一个名为env_name的新虚拟环境。conda create --name env_name python=3.6:创建一个指定Python版本(如3.6)的虚拟环境。conda create --name env_name python=3.6 pandas numpy scipy:在指定Python版本下创建虚拟环境,并同时安装pandas、numpy和scipy包。
-
激活/使用/进入某个虚拟环境
conda activate env_name:激活并进入名为env_name的虚拟环境。
-
退出当前环境
deactivate或conda deactivate:退出当前激活的虚拟环境。
-
复制某个虚拟环境
conda create --name new_env_name --clone old_env_name:复制名为old_env_name的虚拟环境,并创建一个新的名为new_env_name的虚拟环境。
-
删除某个环境
conda remove --name env_name --all或conda env remove --name env_name:删除名为env_name的虚拟环境及其所有包。
-
查看当前所有环境
conda info --envs或conda env list:列出所有已创建的虚拟环境。
-
查看当前虚拟环境下的所有安装包
conda list:在激活的虚拟环境中运行此命令,将列出所有已安装的包。
-
安装或卸载包
conda install package_name:在激活的虚拟环境中安装包。conda uninstall package_name:在激活的虚拟环境中卸载包。
-
分享虚拟环境
conda env export > environment.yml:导出当前激活的虚拟环境到一个YAML文件(environment.yml)。conda env create -f environment.yml:使用YAML文件(environment.yml)创建一个新的虚拟环境。
-
源服务器管理
conda config --show-sources:查看当前使用的源(即包管理器的服务器地址)。conda config --add channels source_url:添加一个新的源。conda config --remove channels source_url:删除一个源。
-
其他常用命令
conda clean --packages --tarballs:清理未使用的包和tarball文件。conda update package_name:更新已安装的包到最新版本。conda search package_name:搜索可用的包。
以上命令需要在Anaconda Prompt(或在命令窗口激活环境)中运行。
OpenCV
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,常用于图像处理和计算机视觉应用。以下是一些OpenCV的常用命令及其解释,主要基于Python版本的OpenCV(cv2):
1. 图像的读取、显示与写入
cv2.imread(filename[, flags]):读取图像文件。filename是图像文件的路径,flags是读取模式(如cv2.IMREAD_COLOR表示读取彩色图像,cv2.IMREAD_GRAYSCALE表示读取灰度图像)。cv2.imshow(window_name, img):在窗口中显示图像。window_name是窗口的名称,img是要显示的图像。cv2.waitKey(delay):等待键盘输入。delay是等待时间(以毫秒为单位),若设置为0,则无限期等待。cv2.destroyAllWindows():销毁所有由OpenCV创建的窗口。cv2.imwrite(filename, img[, params]):保存图像到文件。filename是输出文件的路径,img是要保存的图像,params是可选参数。
2. 图像色彩空间转换
cv2.cvtColor(src, code[, dst[, dstCn]]):转换图像从一个色彩空间到另一个。例如,从BGR(OpenCV默认色彩空间)转换到HSV或灰度图。src是源图像,code是转换类型(如cv2.COLOR_BGR2HSV、cv2.COLOR_BGR2GRAY)。
3. 图像的创建与赋值
numpy.zeros(shape[, dtype=float, order='C'])或cv2.zeros(shape[, dtype]):创建一个全零的数组(图像)。shape是数组的形状(如(height, width, channels))。numpy.ones(shape[, dtype=float, order='C'])或cv2.ones(shape[, dtype]):创建一个全1的数组(图像)。numpy.full(shape, fill_value[, dtype=None, order='C']):创建一个被fill_value填充的数组(图像)。Scalar(b[, g[, r[, a]]]):在OpenCV中用于指定颜色值,通常与cv2.rectangle()、cv2.circle()等绘图函数一起使用。
4. 图像像素的读写操作
- 图像像素的读写通常通过指定像素坐标(如
(x, y))来直接访问图像的numpy数组实现。
5. 其他常用命令
cv2.resize(src, dsize[, fx[, fy[, interpolation]]]):调整图像大小。cv2.flip(src, flipCode):翻转图像。cv2.rotate(src, rotateCode[, center]):旋转图像(在某些版本的OpenCV中可能是cv2.getRotationMatrix2D()与cv2.warpAffine()的组合)。cv2.threshold(src, thresh, maxval, type[, dst]):应用阈值操作。cv2.blur(src, ksize[, dst[, anchor[, borderType]]]):对图像进行模糊处理。cv2.Canny(image[, threshold1[, threshold2[, apertureSize[, L2gradient]]]]):进行Canny边缘检测。
以上只是OpenCV库中的一部分常用命令和功能的简要介绍。
Pandas
Pandas是一个强大的Python数据分析库,提供了丰富的数据处理和分析功能。以下是Pandas的一些常用命令及其解释,按照功能分类进行归纳:
数据读取与写入
-
读取CSV文件
pd.read_csv('file.csv'):读取CSV文件并返回一个DataFrame对象。
-
写入CSV文件
df.to_csv('file.csv', sep=',', index=False):将DataFrame对象写入CSV文件,其中sep指定分隔符,index=False表示不写入索引。
-
读取Excel文件
pd.read_excel('file.xlsx'):读取Excel文件并返回一个DataFrame对象。
-
写入Excel文件
df.to_excel('file.xlsx', sheet_name='Sheet1', index=False):将DataFrame对象写入Excel文件,其中sheet_name指定工作表名,index=False表示不写入索引。
数据查看
-
显示前n条数据
df.head(n):返回DataFrame的前n行,默认n为5。
-
显示后n条数据
df.tail(n):返回DataFrame的后n行,默认n为5。
-
查看数据维度
df.shape:返回一个元组,表示DataFrame的行数和列数。
-
数据集基本信息
df.info():显示DataFrame的简要摘要,包括列名、非空值数量、数据类型等信息。
-
数据集的基本统计信息
df.describe():针对数值列,计算各种统计信息,如计数、均值、标准差、最小值、25%分位数、中位数、75%分位数和最大值。
数据选择
-
获取数据集索引
df.index:返回DataFrame的行索引。
-
查看数据值
df.values:以NumPy数组的形式返回DataFrame的数据。
-
获取数据集所有列名
df.columns:返回DataFrame的列名。
-
获取列类型
df.dtypes:返回DataFrame每列的数据类型。
-
设置索引
df.set_index('col_name'):将指定列设置为索引。
-
重置索引
df.reset_index(drop=True):重置索引,drop=True表示不将原索引作为一列保留在DataFrame中。
数据处理
-
修改数据类型
df['col_name'].astype(np.float32):将指定列的数据类型转换为np.float32。
-
修改列名
df.rename(columns={'col_name':'new_col_name'}):使用字典参数修改列名。
-
调整列的顺序
- 通过重新赋值或使用
df[['col1', 'col2', 'col3']]的形式来调整列的顺序。
- 通过重新赋值或使用
数据筛选
-
使用loc函数筛选数据
data.loc[labels]:根据行标签筛选数据。data.loc[:, columns]:根据列标签筛选数据。data.loc[data['A'] == 0]:根据某个条件筛选数据。
-
使用isin函数筛选数据
df[df.a.isin([30,54])]:根据特定值筛选记录。
-
使用at函数定位数据
data.at[row_label, column_label]:根据指定行标签和列标签快速定位DataFrame的元素。
这些命令为Pandas库中的常用功能提供了基础支持,用于数据处理、分析和探索。
YOLO
YOLO(You Only Look Once)是一种用于实时物体检测的深度学习模型。YOLO的实现有多个版本,常见的是基于Python的实现,例如用PyTorch或者Darknet框架。以下是一些常用的YOLO命令及其含义:
基于Darknet的YOLO命令
-
训练模型
./darknet detector train <data_file> <cfg_file> <weights_file><data_file>: 数据集配置文件,通常包含训练、验证数据集路径等信息。<cfg_file>: 模型配置文件,定义了YOLO的网络结构和参数。<weights_file>: 预训练权重文件(可选),用来加快训练收敛速度。
-
测试图片
./darknet detector test <data_file> <cfg_file> <weights_file> <image_path><image_path>: 要检测的图片路径。
-
测试视频
./darknet detector demo <data_file> <cfg_file> <weights_file> <video_path><video_path>: 要检测的视频路径。如果想使用摄像头,通常路径为0。
基于PyTorch的YOLOv5命令
-
克隆YOLOv5仓库
git clone https://github.com/ultralytics/yolov5 cd yolov5 -
安装依赖
pip install -r requirements.txt -
训练模型
python train.py --img <image_size> --batch <batch_size> --epochs <epochs> --data <data_file> --cfg <cfg_file> --weights <weights_file><image_size>: 输入图片大小,例如640。<batch_size>: 每个训练步骤中使用的图片数量。<epochs>: 训练轮数。<data_file>: 数据集配置文件。<cfg_file>: 模型配置文件。<weights_file>: 预训练权重文件(可选)。
-
检测图片
python detect.py --source <source_path> --weights <weights_file><source_path>: 图片、视频或文件夹路径。<weights_file>: 训练好的权重文件。
-
检测视频
python detect.py --source <source_path> --weights <weights_file>
常用参数和选项
--img或--img-size: 设置输入图像的尺寸。--batch或--batch-size: 设置批次大小。--epochs: 设置训练的轮数。--data: 指定数据集配置文件。--cfg: 指定模型配置文件。--weights: 指定权重文件路径。--source: 指定输入源,可以是图片、视频、文件夹或摄像头。
这些命令和参数帮助用户在不同环境下使用YOLO进行训练和推理,根据具体需求和硬件配置可以调整相应的参数。
Matplotlib
Matplotlib是一个功能强大的Python绘图库,能够生成各种高质量的图表。以下是Matplotlib中一些详细且常用的命令及其含义:
导入Matplotlib
import matplotlib.pyplot as plt
基本绘图
-
创建简单的线图
plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) plt.show()plt.plot(x, y): 创建一个线图,x和y是数据列表。plt.show(): 显示当前的图表。
-
设置标题和轴标签
plt.title("Title of the Plot") plt.xlabel("X-axis Label") plt.ylabel("Y-axis Label")plt.title("Title"): 设置图表标题。plt.xlabel("X-axis Label"): 设置X轴标签。plt.ylabel("Y-axis Label"): 设置Y轴标签。
图例和样式
-
添加图例
plt.plot([1, 2, 3, 4], label="Line 1") plt.plot([4, 3, 2, 1], label="Line 2") plt.legend()plt.legend(): 显示图例。使用label参数标记每条线的名称。
-
调整线条样式
plt.plot([1, 2, 3, 4], linestyle='--', color='r', marker='o')linestyle='--': 设置线条样式为虚线。color='r': 设置线条颜色为红色。marker='o': 设置数据点标记为圆圈。
子图和布局
-
创建子图
plt.subplot(2, 1, 1) # (nrows, ncols, index) plt.plot([1, 2, 3, 4]) plt.subplot(2, 1, 2) plt.plot([4, 3, 2, 1]) plt.show()plt.subplot(nrows, ncols, index): 创建一个n行m列的子图,并激活第index个子图。
-
调整图形大小
plt.figure(figsize=(10, 5)) plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) plt.show()plt.figure(figsize=(width, height)): 设置图形的尺寸,单位为英寸。
条形图和散点图
-
绘制条形图
categories = ['A', 'B', 'C', 'D'] values = [4, 7, 1, 8] plt.bar(categories, values) plt.show()plt.bar(categories, values): 绘制条形图。
-
绘制散点图
x = [1, 2, 3, 4] y = [10, 20, 25, 30] plt.scatter(x, y) plt.show()plt.scatter(x, y): 绘制散点图。
饼图和直方图
-
绘制饼图
labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] explode = (0, 0.1, 0, 0) # 使第二部分突出 plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) plt.axis('equal') # 使饼图为圆形 plt.show()plt.pie(sizes, ...): 绘制饼图。autopct='%1.1f%%': 显示百分比。
-
绘制直方图
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] plt.hist(data, bins=4) plt.show()plt.hist(data, bins): 绘制直方图,bins参数决定了柱的数量。
网格和注释
-
显示网格
plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) plt.grid(True) plt.show()plt.grid(True): 显示网格线。
-
添加注释
plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) plt.annotate('Annotation', xy=(2, 4), xytext=(3, 5), arrowprops=dict(facecolor='black', shrink=0.05)) plt.show()plt.annotate('text', xy, xytext, arrowprops): 在图表中添加注释。
保存图像
- 保存图像
plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) plt.savefig('figure.png')plt.savefig('filename'): 保存图像为文件,可以指定不同格式如PNG, PDF等。
三维图形
- 绘制三维图形
from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(111, projection='3d') x = [1, 2, 3, 4] y = [10, 20, 25, 30] z = [5, 15, 25, 35] ax.plot(x, y, z) plt.show()fig.add_subplot(111, projection='3d'): 创建三维子图。
高级图形
- 绘制等高线图
import numpy as np x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) X, Y = np.meshgrid(x, y) Z = np.sin(np.sqrt(X**2 + Y**2)) plt.contour(X, Y, Z) plt.show()plt.contour(X, Y, Z): 绘制等高线图。
这些命令提供了Matplotlib的大部分功能,可以帮助你绘制和自定义各种类型的图表。
JupyterLab
JupyterLab是一个基于Web的用户界面,用于Jupyter笔记本和其他文档。它是Jupyter Notebook的下一代界面,为用户提供了更强大的功能和更灵活的布局。以下是JupyterLab中的一些详细命令及其含义:
启动和基本使用
-
启动JupyterLab
jupyter labjupyter lab: 启动JupyterLab服务器并在默认Web浏览器中打开。
-
指定浏览器启动
jupyter lab --browser=<browser_name>--browser=<browser_name>: 使用指定的浏览器启动JupyterLab,例如--browser=firefox。
-
指定端口
jupyter lab --port=<port_number>--port=<port_number>: 指定JupyterLab使用的端口,例如--port=8888。
命令行选项
-
查看帮助
jupyter lab --help--help: 显示JupyterLab命令行帮助信息。
-
生成配置文件
jupyter lab --generate-config--generate-config: 生成JupyterLab配置文件,通常位于~/.jupyter/jupyter_lab_config.py。
扩展和插件
-
安装JupyterLab扩展
jupyter labextension install <extension_name>jupyter labextension install <extension_name>: 安装JupyterLab扩展,例如jupyter labextension install @jupyter-widgets/jupyterlab-manager。
-
列出已安装的扩展
jupyter labextension listjupyter labextension list: 列出已安装的JupyterLab扩展。
-
卸载JupyterLab扩展
jupyter labextension uninstall <extension_name>jupyter labextension uninstall <extension_name>: 卸载JupyterLab扩展。
笔记本操作
-
创建新笔记本
- 在JupyterLab界面中,点击左上角的“+”按钮,然后选择“Notebook”,选择合适的内核(如Python 3)。
-
重命名笔记本
- 在JupyterLab界面中,右键点击笔记本标签,然后选择“Rename Notebook”,输入新的名称并确认。
文件和目录
-
上传文件
- 在JupyterLab界面中,点击左侧文件浏览器中的“Upload”按钮,选择要上传的文件。
-
创建新文件/文件夹
- 在JupyterLab界面中,点击左侧文件浏览器中的“New”按钮,选择“Text File”或“Folder”。
运行和管理代码单元
-
运行单元格
- 在JupyterLab界面中,选择一个代码单元,然后按Shift+Enter运行该单元格。
-
运行所有单元格
- 在JupyterLab界面中,选择“Run”菜单,然后选择“Run All Cells”运行所有单元格。
-
中断内核
- 在JupyterLab界面中,选择“Kernel”菜单,然后选择“Interrupt Kernel”中断正在运行的代码。
-
重启内核
- 在JupyterLab界面中,选择“Kernel”菜单,然后选择“Restart Kernel”重启当前内核。
魔法命令
JupyterLab支持IPython的魔法命令,可以用于增强功能。
-
查看所有魔法命令
%lsmagic%lsmagic: 列出所有可用的魔法命令。
-
时间测量
%timeit <statement>%timeit <statement>: 多次执行语句并返回其平均执行时间。
-
运行外部脚本
%run <script.py>%run <script.py>: 运行一个Python脚本文件。
-
列出当前工作目录中的文件
%ls%ls: 列出当前工作目录中的文件。
导入和导出
- 导出笔记本
- 在JupyterLab界面中,选择“File”菜单,然后选择“Export Notebook As”可以将笔记本导出为不同的格式,如HTML、PDF等。
使用终端
- 启动终端
- 在JupyterLab界面中,点击左上角的“+”按钮,然后选择“Terminal”启动一个新的终端。
使用文本编辑器
- 打开文本文件
- 在JupyterLab界面中,点击左侧文件浏览器中的文本文件名称,可以在内置文本编辑器中打开文件。
这些命令和操作可以帮助你更好地使用JupyterLab,提高工作效率并充分利用其强大的功能。