VSCode使用Jupyter完整指南配置机器学习环境

接下来开始机器学习部分
第一步配置环境:

VSCode使用Jupyter完整指南

1. 安装必要的扩展

打开VSCode,按 Ctrl+Shift+X 打开扩展市场,搜索并安装以下扩展:

必装扩展:

  • Python (Microsoft官方) - Python语言支持
  • Jupyter (Microsoft官方) - Jupyter notebook支持
  • Pylance (Microsoft官方) - Python智能提示和语法检查

推荐扩展:

  • Python Docstring Generator - 自动生成函数文档
  • Python Environment Manager - Python环境管理
  • Jupyter Keymap - Jupyter快捷键支持

2. Python环境配置

# 方法1:使用Anaconda(推荐)
conda create -n ai_learning python=3.9
conda activate ai_learning# 安装Jupyter相关包
conda install jupyter notebook ipykernel
# 或使用pip
pip install jupyter notebook ipykernel# 安装AI学习必需的库
pip install numpy pandas matplotlib seaborn scikit-learn
pip install tensorflow keras torch torchvision
pip install plotly jupyter-widgets ipywidgets# 将环境注册到Jupyter内核
python -m ipykernel install --user --name ai_learning --display-name "AI Learning Python 3.9"
# 方法2:使用虚拟环境
python -m venv ai_env
# Windows激活
ai_env\Scripts\activate
# macOS/Linux激活
source ai_env/bin/activate# 安装相同的包
pip install jupyter ipykernel numpy pandas matplotlib seaborn scikit-learn
python -m ipykernel install --user --name ai_env --display-name "AI Environment"

3. VSCode配置优化

Ctrl+, 打开设置,搜索相关设置或直接编辑 settings.json

{// Python解释器路径"python.defaultInterpreterPath": "~/anaconda3/envs/ai_learning/bin/python",// Jupyter设置"jupyter.askForKernelRestart": false,"jupyter.sendSelectionToInteractiveWindow": false,"jupyter.interactiveWindow.creationMode": "perFile","jupyter.widgetScriptSources": ["jsdelivr.com", "unpkg.com"],"jupyter.runStartupCommands": ["%load_ext autoreload", "%autoreload 2"],// Notebook设置"notebook.cellToolbarLocation": {"default": "right","jupyter-notebook": "left"},"notebook.output.textLineLimit": 30,"notebook.showCellStatusBar": "visible",// Python设置"python.terminal.activateEnvironment": true,"python.linting.enabled": true,"python.linting.pylintEnabled": true,// 字体和主题"editor.fontSize": 14,"editor.fontFamily": "'Fira Code', 'Consolas', 'Courier New', monospace","editor.fontLigatures": true,// 中文支持"files.autoGuessEncoding": true
}

4. 创建和使用Jupyter Notebook

方法1:通过命令面板

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 “Jupyter: Create New Jupyter Notebook”
  3. 选择Python内核(选择我们创建的ai_learning环境)

方法2:直接创建文件

  1. 在文件资源管理器中右键点击
  2. 选择 “New File”
  3. 命名为 test.ipynb
  4. VSCode会自动识别为Jupyter文件

方法3:使用快捷键

  • Ctrl+Shift+P → “Python: Create Blank New Jupyter Notebook”

5. Jupyter Notebook基本操作

单元格操作:

  • Shift+Enter - 运行当前单元格并移到下一个
  • Ctrl+Enter - 运行当前单元格不移动
  • Alt+Enter - 运行当前单元格并在下方插入新单元格
  • A - 在当前单元格上方插入新单元格
  • B - 在当前单元格下方插入新单元格
  • DD - 删除当前单元格
  • M - 转换为Markdown单元格
  • Y - 转换为代码单元格

实用快捷键:

  • Ctrl+/ - 注释/取消注释
  • Tab - 自动补全
  • Shift+Tab - 查看函数文档
  • Ctrl+S - 保存
  • Ctrl+Z - 撤销

6. 环境切换和内核管理

切换Python环境:

  1. 点击右上角的内核选择器
  2. 选择 “Select Another Kernel”
  3. 选择 “Python Environments”
  4. 选择你创建的 “AI Learning Python 3.9”

查看可用内核:

jupyter kernelspec list

删除不需要的内核:

jupyter kernelspec uninstall unwanted_kernel_name

7. 实用技巧和最佳实践

7.1 魔法命令(Magic Commands)

# 在notebook中使用以下魔法命令
%matplotlib inline  # 图表内联显示
%load_ext autoreload  # 自动重载模块
%autoreload 2  # 自动重载所有模块# 查看执行时间
%time your_function()
%timeit your_function()# 查看当前变量
%who  # 简单列表
%whos  # 详细信息# 执行shell命令
!pip list
!ls -la

7.2 调试技巧

# 在代码中设置断点
import pdb; pdb.set_trace()# 或使用ipdb(需要安装:pip install ipdb)
import ipdb; ipdb.set_trace()# 在VSCode中可以直接设置断点,点击行号左侧

7.3 输出优化

# 设置pandas显示选项
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', 100)
pd.set_option('display.width', None)# 设置numpy显示选项
import numpy as np
np.set_printoptions(precision=3, suppress=True)# 设置matplotlib中文显示
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文字体
plt.rcParams['axes.unicode_minus'] = False   # 负号显示

8. 测试配置

创建一个测试文件验证配置是否正确:

# 测试基本功能
import sys
print("Python版本:", sys.version)
print("Python路径:", sys.executable)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来正常显示负号
# 测试科学计算库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsprint("NumPy版本:", np.__version__)
print("Pandas版本:", pd.__version__)# 测试简单绘图
x = np.linspace(0, 10, 100)
y = np.sin(x)plt.figure(figsize=(10, 6))
plt.plot(x, y, label='sin(x)')
plt.title('测试图表')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()# 测试数据处理
df = pd.DataFrame({'A': np.random.randn(5),'B': np.random.randn(5),'C': np.random.randn(5)
})
print("\n测试DataFrame:")
print(df)# 测试机器学习库
try:import sklearnprint(f"Scikit-learn版本: {sklearn.__version__}")print("✅ 机器学习环境配置成功!")
except ImportError:print("❌ 需要安装scikit-learn")try:import tensorflow as tfprint(f"TensorFlow版本: {tf.__version__}")print("✅ 深度学习环境配置成功!")
except ImportError:print("❌ 需要安装TensorFlow")

9. 常见问题解决

问题1:内核无法连接

# 重新安装ipykernel
pip uninstall ipykernel
pip install ipykernel
python -m ipykernel install --user

问题2:中文显示乱码

# 在notebook开头添加
import matplotlib
matplotlib.rcParams['font.family'] = ['DejaVu Sans']
# 或下载中文字体文件

问题3:模块导入错误

# 检查当前Python路径
import sys
print(sys.path)# 添加自定义路径
sys.path.append('/path/to/your/modules')

问题4:图表不显示

# 确保添加这行
%matplotlib inline
# 或者尝试
%matplotlib widget

10. 推荐的工作流

  1. 项目结构
ai_learning_project/
├── data/           # 数据文件
├── notebooks/      # Jupyter notebooks
├── src/           # Python源代码
├── models/        # 保存的模型
├── results/       # 结果和图表
└── requirements.txt  # 依赖列表
  1. 文件命名
  • 01_data_exploration.ipynb - 数据探索
  • 02_data_preprocessing.ipynb - 数据预处理
  • 03_model_training.ipynb - 模型训练
  • 04_model_evaluation.ipynb - 模型评估

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89628.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法之美:拓扑排序

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《C修炼之路》、《Linux修炼&#xff1a;终端之内 洞悉真理…

Ubuntu18.04 系统重装记录

Ubuntu18.04 系统重装记录 1 安装google拼音 https://blog.csdn.net/weixin_44647619/article/details/144720947 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdo…

Maven常用知识总结

Maven常用知识总结Maven 安装与配置windows mvn安装与配置IntelliJ IDEA 配置IntelliJ IDEA 配置系统mavenIntellij IDEA Maven使用IntelliJ IDEA 不能运行项目常见问题pom.xml 常用标签讲解parentgroupId artifactId versiondependencypropertiespluginpackagingdependencyMan…

PHP框架在大规模分布式系统的适用性如何?

曾几何时&#xff0c;PHP被贴上“只适合小网站”的标签。但在技术飞速发展的今天&#xff0c;PHP框架&#xff08;如Laravel、Symfony、Hyperf、Swoft等&#xff09; 早已脱胎换骨&#xff0c;勇敢地闯入了大规模分布式系统的疆域。今天&#xff0c;我们就来聊聊它的真实战斗力…

DC-DC降压转换5.5V/3A高效率低静态同步降压转换具有自适应关断功能

概述&#xff1a;PC1032是一款高效且体积小巧的同步降压转换器&#xff0c;适用于低输入电压应用。它是紧凑设计的理想解决方案。其2.5V至5.5V的输入电压范围适用于几乎所有电池供电的应用。在中等至重负载范围内&#xff0c;它以1.5MHz&#xff08;典型值&#xff09;的PWM模式…

min_25筛学习笔记+牛客多校02E

本来没有学习这种较难的算法的想法的&#xff0c;因为比赛也做不到这种难度的题&#xff0c; 但是最近打牛客多校02&#xff0c;有一题要求 [1,n][1,n][1,n] 中素数的个数&#xff0c;我以为是像莫反一样容斥&#xff0c;但是后面感觉不行。赛后知道是用 min_25 筛来求&#xf…

FunASR Paraformer-zh:高效中文端到端语音识别方案全解

项目简介 FunASR 是阿里巴巴达摩院开源的端到端语音识别工具箱,集成了多种语音识别、语音活动检测(VAD)、说话人识别等模块。其中 paraformer-zh 和 paraformer-zh-streaming 是针对中文语音识别任务优化的端到端模型,分别适用于离线和流式场景。Paraformer 采用并行 Tran…

数据结构自学Day9: 二叉树的遍历

一、二叉树的遍历“遍历”就是按某种规则 依次访问树中的每个节点&#xff0c;确保 每个节点都被访问一次且只访问一次遍历&#xff1a;前序 中序 后序&#xff08;深度优先&#xff09;&#xff0c;层序&#xff08;广度优先&#xff09;类型遍历方法特点深度优先遍历前序、中…

Leetcode(7.16)

求二叉树最小深度class Solution {public int minDepth(TreeNode root) {if (root null) {return 0;}Queue<TreeNode> queue new LinkedList<>();queue.offer(root);int depth 0;while (!queue.isEmpty()) {depth;int levelSize queue.size();for (int i 0; i…

Go从入门到精通(25) - 一个简单web项目-实现链路跟踪

Go从入门到精通(25) 一个简单web项目-实现链路跟踪 文章目录Go从入门到精通(25)前言为什么需要分布式链路跟踪&#xff1f;go实现链路跟踪搭建zipkin 服务安装依赖添加tracing包&#xff0c;OpenTelemetry 和Zipkin在 Gin 中集成 OpenTelemetry 中间件log包添加获取traceId方法…

2025年最新秋招java后端面试八股文+场景题

一、Java核心八股文&#xff08;2025年最新版&#xff09;1. Java基础HashMap vs ConcurrentHashMapHashMap&#xff1a;非线程安全&#xff0c;JDK1.8后采用数组链表/红黑树&#xff0c;扩容时可能死循环&#xff08;JDK1.7&#xff09;。ConcurrentHashMap&#xff1a;JDK1.8…

esp32 sd卡

ref&#xff1a; platform io & arduino Boards — PlatformIO latest documentation https://github.com/espressif/arduino-esp32/blob/master/libraries/SD_MMC/README.md SD 卡实验 | 极客侠GeeksMan GitHub - fabianoriccardi/ESPLogger: An Arduino library pro…

Java学习--------消息队列的重复消费、消失与顺序性的深度解析​

在 Java 分布式系统开发中&#xff0c;消息队列的应用已十分普遍。但随着业务规模扩大&#xff0c;消息的重复消费、意外消失、顺序错乱等问题逐渐成为系统稳定性的隐患。本文将从 Java 开发者的视角&#xff0c;深入分析这三大问题的产生原因、业务后果&#xff0c;并结合具体…

【Oracle】centos7离线静默安装oracle11g(p13390677_112040)

博文地址&#xff1a;https://blog.csdn.net/gitblog_06670/article/details/142569814 仓库地址&#xff1a;https://gitcode.com/Open-source-documentation-tutorial/31eb1/?utm_sourcedocument_gitcode&indexbottom&typecard 参考安装地址&#xff1a; 收费版&…

智能设备畅想

### 智能设备畅想 突然想到了一个好主意 因为最近在查无人机的相关资料&#xff08;很早之前就想搞个无人机玩玩但始终没有买&#xff09; 在了解自组装方面的内容时&#xff0c;和AI沟通了下 正好之前组装的 小智AI 基本上已经完善了&#xff0c;也正在考虑其在其他方向拓展的…

SpringAI——ChatModel

我的前面一篇文章&#xff08;SpringAI——ChatClient配置与使用&#xff09;中讲了ChatClient&#xff0c;它是一个构建于 ChatModel 之上的高层封装&#xff0c;它提供了更丰富的对话交互能力。可以这么说ChatModel相当于发动机&#xff0c;ChatClient相当于一台含有发动机、…

Zabbix监控K8S的PV信息详细教程!

文将介绍如何使用Zabbix自定义键值脚本方式监控K8S的PV卷状态等信息。 在Kubernetes (K8S) 中&#xff0c;PersistentVolume (PV) 是集群中的一个抽象层&#xff0c;它代表了底层存储资源&#xff0c;例如网络存储系统&#xff08;如NFS、Ceph、GlusterFS等&#xff09;或本地存…

wx小程序原生开发使用高德地图api

第一步&#xff1a;注册高德地图api的key第二步&#xff1a;下载amap-wx.js 放到项目的某个目录第三步&#xff1a;配置app.json&#xff08;必须&#xff0c;因为需要定位功能&#xff0c;&#xff09;"requiredPrivateInfos": ["getLocation"],"per…

如何通过mac的前24bit,模糊确认是那一台什么样的设备

MAC Address Lookup - MAC/OUI/IAB/IEEE Vendor Manufacturer Search Wireshark • Go Deep 上面这两个网址提供了&#xff0c;正对mac 的前24位&#xff0c;查找对应的网络设备厂商信息&#xff0c;可以让我们在运维过程中模糊的判断大约是什么型号的设备 使用macvendorloo…

【爬虫】04 - 高级数据存储

爬虫04 - 高级数据存储 文章目录爬虫04 - 高级数据存储一&#xff1a;加密数据的存储二&#xff1a;JSON Schema校验三&#xff1a;云原生NoSQL(了解)四&#xff1a;Redis Edge近端计算(了解)五&#xff1a;二进制存储1&#xff1a;Pickle2&#xff1a;Parquet一&#xff1a;加…