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
英文地址,請注明出處:http://en.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;加…