当前位置: 首页
编程语言
Ubuntu系统安装配置Python机器学习库教程

Ubuntu系统安装配置Python机器学习库教程

热心网友 时间:2026-05-07
转载

Ubuntu Python机器学习库使用指南

想在Ubuntu系统上快速搭建一个趁手的机器学习开发环境吗?这份指南将带你从零开始,完成从基础环境配置到GPU加速,再到核心库安装与实战的完整流程。整个过程力求清晰、高效,帮你避开那些常见的“坑”。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一 环境准备与基础安装

万事开头先打基础。一个干净、隔离的环境是后续所有工作的前提。

  • 更新系统并安装基础工具:
    • 首先,确保你的系统包是最新的:sudo apt update && sudo apt upgrade -y
    • 接着,安装编译和开发必备工具:sudo apt install -y build-essential cmake git python3-dev python3-venv
  • 建议优先使用虚拟环境(venv 或 conda)隔离依赖:
    • 创建并激活一个名为“ml”的虚拟环境:python3 -m venv ~/venvs/ml,然后source ~/venvs/ml/bin/activate
  • 安装常用数据科学栈(CPU版):
    • 在激活的虚拟环境中,一次性安装核心库:pip install -U pip numpy pandas scipy scikit-learn matplotlib seaborn jupyter
  • 验证安装:
    • 跑个简单命令检查一下:python -c “import numpy, pandas, sklearn, matplotlib; print(numpy.version, pandas.version, sklearn.version)”
  • 可选:使用 Anaconda 管理环境与包(适合多项目与GPU场景)
    • 如果你管理多个项目或需要复杂的包依赖,Anaconda是个好选择。下载安装脚本并安装,然后创建环境:conda create -n ml python=3.10 -y && conda activate ml

二 GPU加速配置

当数据量和模型复杂度上来后,GPU就是你的“核动力”。这部分配置稍显繁琐,但一步到位后效率倍增。

  • 安装 NVIDIA 驱动(示例版本,可按需调整):
    • 执行:sudo apt-get install -y nvidia-driver-535
    • 安装后务必重启系统,然后运行nvidia-smi来验证驱动是否正确安装并查看GPU信息。
  • CUDA 与 cuDNN(示例为 CUDA 11.8,通常与驱动版本配套):
    • 从 NVIDIA 官网下载对应版本的 CUDA Toolkit runfile 安装包。安装时,切记选择“不安装驱动”,因为我们已经装好了。
    • 安装完成后,需要配置环境变量(以下路径以实际安装为准):
      • echo ‘export PATH=/usr/local/cuda-11.8/bin:$PATH’ >> ~/.bashrc
      • echo ‘export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH’ >> ~/.bashrc
      • 最后执行source ~/.bashrc让配置生效。
  • 深度学习框架 GPU 版本安装(以 PyTorch 为例,CUDA 11.8):
    • 现在可以安装支持GPU的PyTorch了:pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • 验证 GPU 可用(PyTorch):
    • 运行一段Python代码来确认一切就绪:
      python - <<‘PY’
      import torch
      print(“CUDA a vailable:”, torch.cuda.is_a vailable())
      print(“CUDA device count:”, torch.cuda.device_count())
      if torch.cuda.is_a vailable():
          print(“Current device:”, torch.cuda.get_device_name(0))
      PY

三 常用库安装与用途

工欲善其事,必先利其器。了解每个核心库的用途,能让你在构建项目时更有条理。

主要用途 安装命令(CPU) 备注
NumPy 数组与线性代数 pip install numpy 科学计算基础,几乎所有库都依赖它
pandas 数据处理与分析 pip install pandas DataFrame 高效操作,数据清洗利器
SciPy 科学算法与稀疏矩阵 pip install scipy 依赖 BLAS/LAPACK,提供高级数学函数
scikit-learn 传统机器学习 pip install scikit-learn 分类、回归、聚类、评估,算法工具箱
Matplotlib/Seaborn 可视化 pip install matplotlib seaborn 基础绘图与高级统计图表
TensorFlow/Keras 深度学习 pip install tensorflow 工业级框架,tf.keras 提供了简洁的高级API
PyTorch 深度学习 pip install torch torchvision torchaudio 研究友好,动态图,GPU版本需匹配CUDA
Jupyter 交互式笔记本 pip install notebook 适合探索式分析和教学演示
  • 安装顺序建议: 为了减少依赖冲突,建议按这个顺序来:先装 NumPy/SciPy 这些底层科学计算库,再装 pandas/scikit-learn 这类上层应用库,最后安装 TensorFlow/PyTorch 等深度学习框架。

四 快速上手示例

环境搭好了,库也齐了,不来点实战代码总觉得少了点什么。下面两个例子,分别带你感受传统机器学习和深度学习的“Hello World”。

  • 示例一 传统机器学习(scikit-learn 线性回归)
    • 这段代码展示了从生成数据、训练模型到评估可视化的完整流程:

      python - <<‘PY’
      import numpy as np
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.linear_model import LinearRegression
      from sklearn.metrics import mean_squared_error, r2_score
      import matplotlib.pyplot as plt
      
      # 构造数据
      X = np.linspace(0, 10, 100).reshape(-1, 1)
      y = 3.5 * X.ra vel() + np.random.normal(0, 2, X.size)
      
      # 训练/测试划分
      X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # 训练
      model = LinearRegression()
      model.fit(X_tr, y_tr)
      
      # 评估
      y_pred = model.predict(X_te)
      print(“MSE:”, mean_squared_error(y_te, y_pred))
      print(“R2:”, r2_score(y_te, y_pred))
      
      # 可视化
      plt.scatter(X_te, y_te, color=‘blue’, label=‘Actual’)
      plt.plot(X_te, y_pred, color=‘red’, label=‘Predicted’)
      plt.legend(); plt.show()
      PY
  • 示例二 深度学习(TensorFlow/Keras MNIST 手写体)
    • 用经典的MNIST数据集,快速搭建一个神经网络:

      python - <<‘PY’
      import tensorflow as tf
      from tensorflow.keras import Sequential
      from tensorflow.keras.layers import Dense, Flatten
      from tensorflow.keras.utils import to_categorical
      
      # 加载与预处理
      (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
      y_train = to_categorical(y_train, 10)
      
      # 构建模型
      model = Sequential([
          Flatten(input_shape=(28, 28)),
          Dense(128, activation=‘relu’),
          Dense(10, activation=‘softmax’)
      ])
      model.compile(optimizer=‘adam’, loss=‘categorical_crossentropy’, metrics=[‘accuracy’])
      
      # 训练与评估
      model.fit(x_train, y_train, epochs=3, batch_size=32, validation_split=0.1, verbose=2)
      loss, acc = model.evaluate(x_test, to_categorical(y_test, 10), verbose=0)
      print(f“Test accuracy: {acc:.4f}”)
      PY

五 常见问题与排错

开发路上难免遇到问题,这里汇总了几个高频“拦路虎”及其解决方案。

  • 编译/头文件缺失(如“Python.h: No such file or directory”)
    • 解决方法:sudo apt-get install -y python3-dev
  • 构建 SciPy/依赖 BLAS/LAPACK 失败
    • 解决方法:sudo apt-get install -y gfortran libopenblas-dev liblapack-dev
  • pip 权限错误
    • 牢记:尽量避免使用 sudo pip。优先在虚拟环境中安装。如果必须在全局安装,使用pip install --user package
  • 图形后端错误(matplotlib)
    • 在无图形界面的服务器上,可以强制使用非交互式后端:echo “backend: Agg” > ~/.config/matplotlib/matplotlibrc
  • Jupyter 远程访问
    • 首先生成配置文件:jupyter notebook --generate-config
    • 编辑配置文件,设置以下项:
      • c.NotebookApp.ip=‘0.0.0.0’
      • c.NotebookApp.port=8888
      • c.NotebookApp.open_browser=False
    • 别忘了:在云服务器或本地防火墙中放行8888端口。
来源:https://www.yisu.com/ask/39053884.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Notepad++批量修改文件后缀名脚本使用教程

Notepad++批量修改文件后缀名脚本使用教程

Notepad++无法直接批量修改文件后缀,通常需借助插件调用系统命令实现。对于简单情况,可使用NppExec插件配合cmd命令处理;若涉及多层目录或复杂条件,则建议编写Python脚本进行递归操作。需注意文件占用可能导致失败,且修改后缀可能影响系统关联和编辑器识别。

时间:2026-05-07 13:27
Linux下Rust代码编译问题排查与解决指南

Linux下Rust代码编译问题排查与解决指南

在Linux中,如果Rust编译出错,你可以按照以下步骤进行排查和解决: 阅读错误信息: Rust编译器给出的错误信息通常非常详实,不仅会标明错误类型,还会精确到文件和行号。第一步,务必静下心来仔细读一读这些提示,它们往往能直接帮你定位到问题的根源。 检查代码语法: Rust的语法规则相对严谨,有时

时间:2026-05-07 13:26
Ubuntu系统JSP代码优化方法与实战技巧

Ubuntu系统JSP代码优化方法与实战技巧

Ubuntu上JSP代码与运行时一体化优化指南 想让老派的JSP应用在Ubuntu上跑得又快又稳?这事儿不单是写写代码就行,得从代码、配置到运行时整个链路都做通盘考虑。下面这份优化指南,就是给这类项目开的一剂综合药方。 一 代码与页面层优化 这一层的核心思路是“各司其职”,让前端页面和后端逻辑都回归

时间:2026-05-07 13:26
Docker与常见技术栈集成方法及实践指南

Docker与常见技术栈集成方法及实践指南

Linux Docker 的常见集成方式 玩转Docker容器,如果只是单打独斗,那可有点小瞧它了。它真正的潜力,往往在于与生态中其他“伙伴”的紧密协作。通过灵活的集成,它能迸发出远超单个工具的能量。下面这几种常见的组合拳,或许能帮你打开新思路。 1 Kubernetes:不只是编排,更是自动化管

时间:2026-05-07 13:26
Linux vsFTP性能评测与主流FTP服务器软件对比分析

Linux vsFTP性能评测与主流FTP服务器软件对比分析

Linux vsftpd 性能对比与选型建议 结论与定位 当我们谈论面向高并发、长时间稳定运行的生产级FTP服务时,一个名字总是绕不开:vsftpd。在相同的硬件与网络舞台上,这款服务器以其极致的轻量与稳定,展现了令人印象深刻的实力。社区的多项测试与资料显示,它在单机(非集群)部署下就能轻松撑起40

时间:2026-05-07 13:26
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程