如何在Ubuntu用Python进行机器学习
在 Ubuntu 上用 Python 开启机器学习之旅:一份即拿即用的实操指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
想在 Ubuntu 系统上快速搭建一个稳定、高效的机器学习开发环境吗?这份指南将带你从零开始,一步步完成环境配置、框架安装,并运行你的第一个模型。整个过程清晰直接,力求避开常见的“坑”。
一、环境准备与 Python 安装
万事开头先打基础。首先,确保你的系统是最新的,并安装好 Python 和包管理工具 pip。
- 更新系统并安装基础工具:
- 打开终端,执行更新命令:
sudo apt update && sudo apt upgrade -y - 安装 Python 3 和 pip:
sudo apt install python3 python3-pip - 安装完成后,别忘了验证一下版本:
python3 --version、pip3 --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 - 创建指定 Python 版本的环境:
conda create -n ml_env python=3.10 - 激活环境:
conda activate ml_env
- 安装 Miniconda(以下为示例脚本,建议从官网获取最新链接):
- 方案一:使用系统自带的 venv(轻量简洁)
- 一键安装常用基础库
在已激活的虚拟环境中,运行下面这条命令,就能把数据分析、建模和可视化的核心工具包一次性备齐: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
- scikit-learn(传统机器学习利器):
- GPU 支持安装(释放 NVIDIA 显卡的算力,大幅加速训练)
前提是已正确安装 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 GPU 版:
- 验证安装是否成功(跑个简单命令看看):
- 验证 PyTorch 及 CUDA:
python -c "import torch; print('CUDA a vailable:', torch.cuda.is_a vailable())" - 验证 TensorFlow:
python -c "import tensorflow as tf; print('TF version:', tf.__version__)"
- 验证 PyTorch 及 CUDA:
三、快速上手示例:从传统机器学习到深度学习
环境就绪,最好的验证方式就是跑通一个例子。下面两个经典示例,带你感受不同范式的建模流程。
- 示例一:传统机器学习(使用 scikit-learn 实现线性回归)
- 将以下代码保存为
ml_linear.py: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 手写数字)
- 将以下代码保存为
tf_mnist.py: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
对于探索性数据分析和模型调试,Jupyter Notebook 是绝佳工具。- 安装:
pip install notebook或conda install jupyter - 启动:在终端输入
jupyter notebook,浏览器会自动打开工作界面。
- 安装:
四、数据处理与计算机视觉扩展
机器学习离不开数据。如果你想涉足计算机视觉,OpenCV 是处理图像数据的瑞士军刀。
- 安装 OpenCV 进行图像读取与预处理:
- 安装:
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)等分类器进行训练和准确率评估。这能让你完整走通一个简单的图像分类 pipeline。
五、常见问题与排错建议
最后,分享几个实践中高频出现的问题和解决思路,希望能帮你节省时间。
- 环境与权限问题
- 务必优先使用虚拟环境(venv/conda),这是避免系统级包冲突的根本方法。如果不得已使用系统 pip,建议加上
--user参数,或者确保将虚拟环境的 bin 目录加入 PATH。
- 务必优先使用虚拟环境(venv/conda),这是避免系统级包冲突的根本方法。如果不得已使用系统 pip,建议加上
- GPU 不可用或未被识别
- 首先确认三件套:NVIDIA 驱动、CUDA、cuDNN 的版本是否匹配且安装正确。
- 命令行输入
nvidia-smi检查驱动和 GPU 状态。 - 在 Python 中,PyTorch 可用
torch.cuda.is_a vailable()验证;TensorFlow 2.10+ 在 Linux 上通常已内置 GPU 支持,无需单独安装旧的 tensorflow-gpu 包。
- 包依赖冲突与安装失败
- 首先尝试升级 pip 本身:
pip install -U pip - 对于 PyTorch、TensorFlow 等大型框架,尤其是 GPU 版本,尽量使用 conda 安装。Conda 能更好地解决复杂依赖关系,避免与 pip 混合安装导致的环境混乱。
- 首先尝试升级 pip 本身:
- Jupyter Notebook 无法启动或找不到内核
- 在目标虚拟环境中,执行以下命令为 Jupyter 安装内核:
python -m ipykernel install --user --name=ml_env(将 ml_env 替换为你的环境名)。 - 重启 Jupyter,在 “Kernel” -> “Change kernel” 菜单中选择刚添加的环境内核即可。
- 在目标虚拟环境中,执行以下命令为 Jupyter 安装内核:
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Java编译命令在CentOS怎么用
在CentOS上使用Ja va编译命令 想在CentOS系统上编译Ja va程序?这事儿其实不难,但第一步得先把“家伙事儿”准备好——也就是Ja va开发工具包(JDK)。如果你的系统里还没装JDK,别急,跟着下面这几步走,几分钟就能搞定。 第一步:安装JDK 首先,打开你的终端。接下来,最常用的做
如何在CentOS上进行Java编译
在CentOS上编译Ja va程序:从环境搭建到“Hello, World!” 想在CentOS系统上玩转Ja va开发?这事儿其实没想象中那么复杂。核心就两步:先把Ja va开发环境搭起来,然后通过命令行让代码跑起来。下面这份手把手的指南,能帮你快速走通这个流程。 第一步:安装Ja va开发工具包
centos下如何交叉编译golang程序
在CentOS系统下交叉编译Go程序 你是否需要在CentOS服务器上开发Go应用,并希望将其部署到Windows、macOS或其它Linux发行版上运行?通过交叉编译技术,你可以轻松地在CentOS环境中生成适用于多种操作系统和CPU架构的可执行文件。实现这一目标的关键在于灵活运用Go语言内置的环
SpringBoot如何查看与SpringCloud的对应版本
1、访问Spring官方网站 要获取最权威的版本对应信息,最直接的办法就是访问Spring的官方项目网站。通常,你只需要在页面上找到并点击查看版本的链接即可。 2、解读返回的JSON元数据 访问后,网站会返回一份结构清晰的JSON数据,里面包含了构建信息、Git提交记录,以及我们最关心的——各个组件
Nacos配置中心与本地代码工程配置文件之间的优先级关系详解
一、核心原理:配置是如何加载的? 要深入理解Nacos配置中心与本地配置的优先级关系,必须首先掌握Spring Cloud应用启动时配置加载的完整流程。整个过程可以清晰地划分为两个关键的上下文阶段: 1 Bootstrap Context(引导上下文) 引导上下文会在主应用上下文之前完成初始化,是
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

