首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
Ubuntu系统安装配置Python机器学习库教程

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

热心网友
89
转载
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。

相关攻略

Ubuntu系统安装Java 8与Java 9环境详细教程
编程语言
Ubuntu系统安装Java 8与Java 9环境详细教程

在Ubuntu16 04系统中安装Java8和Java9。需注意Java9可能不完全向后兼容。安装均通过添加Webupd8PPA仓库、执行安装命令并同意许可协议完成。安装后需分别设置默认版本或环境变量,最后可通过`java-version`命令验证安装结果。

热心网友
05.07
LNMP环境MySQL数据库查询性能优化实战指南
数据库
LNMP环境MySQL数据库查询性能优化实战指南

LNMP环境中优化数据库查询需系统实施。关键步骤包括:根据业务选择存储引擎,优化表结构与字段类型,合理创建索引,编写高效SQL语句避免全表扫描。引入缓存层减轻数据库压力,使用连接池管理连接,必要时采用查询提示或分区表。定期维护数据库并监控慢查询,以实现持续性能提升。

热心网友
05.07
HBase数据恢复的完整流程与详细步骤解析
数据库
HBase数据恢复的完整流程与详细步骤解析

HBase数据恢复需按步骤进行:先确认集群状态并定位故障,操作前备份数据。恢复时可选用内置工具、快照、WAL回放或手动替换文件等方法。完成后验证数据完整性与集群健康,持续监控优化。注意版本兼容性,在业务低峰期操作,并建立定期备份策略。

热心网友
05.07
HBase数据备份的常用方法与最佳实践指南
数据库
HBase数据备份的常用方法与最佳实践指南

HBase数据备份主要有五种方法。使用自带工具可进行全量或增量备份。快照功能通过创建元数据引用实现快速备份与恢复。直接备份HDFS底层文件适合长期归档或迁移。第三方工具如DistCp和XtraBackup提供压缩、加密等增强功能。集群间复制机制支持实时同步,满足异地容灾需求。

热心网友
05.07
Apache2服务器优化数据库连接性能的实用方法
数据库
Apache2服务器优化数据库连接性能的实用方法

优化Apache2应用的数据库连接可提升性能,主要方法包括:使用持久连接或连接池复用连接以降低开销;限制并发连接数防止数据库过载;利用缓存减少查询;优化SQL语句与索引;调整数据库配置以适应负载;持续监控并动态调优,保障系统高效运行。

热心网友
05.07

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

Bitget交易所2026年发展前景与市场排名深度解析
web3.0
Bitget交易所2026年发展前景与市场排名深度解析

2026年,Bitget在交易所排行榜上展现出强劲的竞争力。其表现主要体现在用户资产安全体系的持续加固、多元化产品矩阵的成熟与创新,以及在合规与全球化布局上的显著进展。平台通过优化现货与衍生品交易体验,并深化Web3生态建设,巩固了其在行业中的领先地位,获得了市场与用户的广泛认可。

热心网友
05.07
NET开发中HttpClient使用避坑指南与最佳实践详解
编程语言
NET开发中HttpClient使用避坑指南与最佳实践详解

HttpClient的7个常见陷阱与规避指南 在 NET 生态里进行项目开发,HttpClient 几乎是调用外部 API 绕不开的一个工具。它的上手门槛很低,用起来很顺手,但恰恰是这份“简单”,让不少开发者放松了警惕。如果不清楚它内部的运作机制,一不小心就可能掉进坑里,轻则请求失败,重则引发服务

热心网友
05.07
NETCore与Linux服务器时间同步问题的多种解决方案详解
编程语言
NETCore与Linux服务器时间同步问题的多种解决方案详解

如何解决 NET Core项目与Linux服务器之间的时间同步问题 导语 搞分布式系统的开发者,多少都踩过时间不同步的“坑”。这事说大不大,说小不小——日志对不上、订单乱取消、交易出岔子,追根溯源,往往是几台机器的时间“各走各的”。尤其是在 NET Core应用遇上Linux服务器的场景,时区、格式

热心网友
05.07
NET 4.7 如何使用 NLog 将日志记录到数据库
编程语言
NET 4.7 如何使用 NLog 将日志记录到数据库

1 首先安装必要的NuGet包 第一步,咱们得把项目里需要的“砖瓦”——也就是那几个关键的NuGet包——给准备好。具体是下面这几个: NLog:日志记录的核心库。 NLog Config (可选):如果你想让配置文件自动生成,可以加上这个。 当然,别忘了根据你用的数据库类型,安装对应的提供程序。

热心网友
05.07
NETCore消息队列RabbitMQ实现方法与代码示例
编程语言
NETCore消息队列RabbitMQ实现方法与代码示例

在 NET Core 中玩转 RabbitMQ:从零搭建可靠的消息队列 消息队列是现代应用解耦和异步通信的基石,而 RabbitMQ 无疑是这个领域的明星选手。它基于 AMQP 协议,为不同应用程序间的可靠消息传递提供了强大支持。今天,我们就来深入聊聊,如何在 NET Core 环境中,亲手搭建

热心网友
05.07