温馨提示×

如何在Ubuntu用Python进行机器学习

小樊
49
2025-11-26 20:43:38
栏目: 编程语言

在 Ubuntu 用 Python 进行机器学习的实操指南

一 环境准备与 Python 安装

  • 更新系统并安装基础工具:
    • 命令:sudo apt update && sudo apt upgrade -y
    • 安装 Python 与 pip:sudo apt install python3 python3-pip
    • 验证版本:python3 --versionpip3 --version
  • 建议始终使用虚拟环境隔离依赖(二选一):
    • 使用 venv(系统自带):
      • 创建:python3 -m venv ~/ml_venv
      • 激活:source ~/ml_venv/bin/activate
    • 使用 conda/miniconda(数据科学常用):
      • 安装 Miniconda(示例脚本):wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh
      • 创建环境:conda create -n ml_env python=3.10
      • 激活环境:conda activate ml_env
  • 常用基础库一键安装(在已激活的虚拟环境中):
    • pip install numpy pandas scikit-learn matplotlib seaborn jupyter

二 安装机器学习与深度学习框架

  • CPU 与通用安装(适合入门与大多数 CPU 场景):
    • scikit-learn:pip install scikit-learn
    • TensorFlow(CPU):pip install tensorflow
    • PyTorch(CPU):pip install torch torchvision torchaudio
  • GPU 支持(需 NVIDIA 显卡 且已安装 CUDA/cuDNN;以 CUDA 11.8 为例,命令在 conda 环境中执行):
    • PyTorch GPU:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
    • 如需 CPU 版 PyTorch:conda install pytorch torchvision torchaudio cpuonly -c pytorch
  • 验证安装(示例):
    • PyTorch:python -c "import torch; print('CUDA available:', torch.cuda.is_available())"
    • TensorFlow:python -c "import tensorflow as tf; print('TF version:', tf.__version__)"

三 快速上手示例 传统机器学习与深度学习

  • 示例一 传统机器学习(scikit-learn 线性回归)
    • 代码示例:
      import numpy as np
      from sklearn.model_selection import train_test_split
      from sklearn.linear_model import LinearRegression
      from sklearn.metrics import mean_squared_error
      
      X = np.random.rand(100, 1)
      y = 2 + 3 * X + 0.1 * np.random.randn(100, 1)
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      model = LinearRegression()
      model.fit(X_train, y_train)
      y_pred = model.predict(X_test)
      print("MSE:", mean_squared_error(y_test, y_pred))
      
    • 运行:python ml_linear.py
  • 示例二 深度学习(TensorFlow/Keras MNIST 手写体)
    • 代码示例:
      import tensorflow as tf
      from tensorflow.keras import Sequential
      from tensorflow.keras.layers import Dense, Flatten
      
      (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
      x_train, x_test = x_train/255.0, x_test/255.0
      
      model = Sequential([
          Flatten(input_shape=(28, 28)),
          Dense(128, activation='relu'),
          Dense(10, activation='softmax')
      ])
      model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
      model.fit(x_train, y_train, epochs=5, batch_size=32, verbose=2)
      test_loss, test_acc = model.evaluate(x_test, y_test, verbose=0)
      print(f"Test accuracy: {test_acc:.4f}")
      
    • 运行:python tf_mnist.py
  • 交互式开发建议:安装并启动 Jupyter Notebook
    • 安装:pip install notebookconda install jupyter
    • 启动:jupyter notebook(浏览器自动打开)

四 数据处理与计算机视觉扩展

  • 使用 OpenCV 进行图像读取与预处理(适合入门 CV 任务):
    • 安装:pip install opencv-python
    • 基本用法示例:
      import cv2
      img = cv2.imread('image.jpg')
      gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
      print(gray.shape)
      
  • 小项目思路:用 OpenCV 读取文件夹图像 → 转灰度 → 展平为特征 → 用 scikit-learn 训练分类器(如 RandomForest)并评估准确率

五 常见问题与排错建议

  • 环境与权限
    • 优先使用虚拟环境(venv/conda),避免系统包冲突;如用系统 pip,建议加上 --user 或将虚拟环境 bin 加入 PATH。
  • GPU 不可用
    • 确认已安装匹配版本的 NVIDIA 驱动、CUDA、cuDNN;使用 nvidia-smi 检查驱动与 GPU 状态;PyTorch 可用 torch.cuda.is_available() 验证;TensorFlow 2.10+ 在 Linux 上通常内置 GPU 支持(无需单独安装 tensorflow-gpu 包)。
  • 包冲突与安装失败
    • 先升级 pip:pip install -U pip
    • 尽量使用 conda 安装深度学习框架(尤其是 PyTorch/TensorFlow 的 GPU 版本),避免与 pip 混装导致依赖冲突。
  • Jupyter 无法启动或内核不可用
    • 在需要的虚拟环境中执行:python -m ipykernel install --user --name=ml_env
    • 重新启动 Jupyter 并在内核中选择 ml_env

0