github代碼中遇到的問題-解決方案

下面內容介紹的是我個人在復現github代碼遇到的一些問題,如果也可以幫到你,請點個關注吧~

1.我的項目位置在D盤,但是為什么下面終端的位置在E盤

-》cd /d D:\Users\xxxx(后面的xxxx是你具體的文檔位置)

2.怎么知道我原來的創建的環境是不是含有gpu版本呢?

->方法 1:在激活的環境中運行 Python 代碼

  1. 激活環境

    bash

    conda activate HSDGNN
    

  2. 運行 Python 檢查代碼

    bash

    python -c "import torch; print('CUDA可用:', torch.cuda.is_available()); print('CUDA版本:', torch.version.cuda); print('GPU名稱:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None')"
    
    • 輸出解釋
      • 如果顯示?CUDA可用: True,說明環境支持 GPU。
      • 如果顯示?CUDA可用: False,說明環境僅安裝了 CPU 版本。

->方法 2:查看已安裝的 PyTorch 包

  1. 激活環境

    bash

    conda activate your_eve
  2. 檢查 PyTorch 包

    pip list | grep torch
    
    ?
    • 輸出示例

      plaintext

      torch                     2.0.1+cu117
      torchaudio                2.0.2+cu117
      torchvision               0.15.2+cu117
      
      ?
      • 包名中包含?+cu117?表示 GPU 版本(CUDA 11.7)。
      • 如果只顯示?torch 2.0.1(無?+cu?后綴),通常是 CPU 版本。

->方法 3:查看 conda 環境配置

  1. 列出所有 conda 環境

    conda env list
    
  2. 查看指定環境的詳細配置

    conda list -n your-eve | grep torch
    
    ?
    • 如果輸出中包含?pytorch-cuda?或?cudatoolkit,說明安裝了 GPU 支持。

3.?CUDA 內存不足的問題(torch.cuda.OutOfMemoryError

1.?降低批次大小(Batch Size)

這是最直接的解決方法。在命令行中添加--batch_size參數,減小每個批次的樣本數量

如果仍然 OOM,可以繼續減小到 4 或 2。

2.?優化模型內存使用

2.1梯度累積(Gradient Accumulation)

通過多次前向 / 反向傳播后再更新參數,模擬大批次訓練的效果

2.2使用半精度訓練(Mixed Precision)

PyTorch 的torch.cuda.amp可以減少顯存占用

3.?釋放不必要的顯存

在每個訓練步驟后手動釋放緩存

4.?減少模型復雜度

如果上述方法仍無法解決,可以嘗試:

  • 減小隱藏層維度(--embed_dim--rnn_units
  • 減少網絡層數
  • 使用更小的輸入序列長度(--lag

其他建議

  • 監控顯存使用:使用nvidia-smi實時監控 GPU 顯存占用
  • 檢查數據加載:確保沒有不必要的數據被加載到 GPU
  • 分階段訓練:如果模型特別大,可以考慮先在小數據集上訓練,再逐步擴展

4.為什么需要__init__.py

->Python 通過__init__.py文件識別包結構,沒有該文件時,Data目錄不會被視為可導入的模塊。

導入路徑為什么是from Data.dataloader import ...

  • sys.path.append(parent_dir)后,Python 會在Titantic/目錄下搜索模塊,因此Data是包名,dataloader是模塊名(即dataloader.py).

  • PyCharm 的 “未解析的引用” 警告如何消除?


  • 除了設置源根目錄,還可以在train_and_visualize.py開頭添加:

  • # noinspection PyUnresolvedReferences
    

    這將忽略 IDE 的引用檢查警告。

驗證導入是否成功

train_and_visualize.py中添加調試代碼:

print("已導入的模塊:")
print("main:", callable(main))
print("TitanicDataset:", issubclass(TitanicDataset, torch.utils.data.Dataset))
print("collate_fn:", callable(collate_fn))

運行后若輸出True,則說明導入成功。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87416.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87416.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87416.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Visual Studio 2022創建CUDA編程項目

要在 Visual Studio 2022 中開發 CUDA 程序,需要進行環境配置并了解基本開發流程。以下是詳細步驟: 環境準備 安裝 Visual Studio 2022 下載并安裝 Visual Studio 2022(社區版或專業版均可)。安裝時勾選 “使用 C++ 的桌面開發” 工作負載。確保安裝 “C++ CMake 工具” …

Java測試題一

1.基本數據類型有哪些? 基本數據類型有8個:整數:byte、int、long、short。 浮點型:float、double。 布爾型boolean。 字符型:char 2.下列代碼的輸出是什么?為什么? public static void ma…

使用 Flask 構建基于 Dify 的企業資金投向與客戶分類評估系統

使用 Flask 構建基于 Dify 的企業資金投向與客戶分類評估系統 前言一、🧩 技術棧二、📦 項目結構概覽三、 🔧 核心功能模塊說明1 配置參數2 請求封裝函數? 功能說明: 3 Prompt 構造函數4 Flask 路由定義🏠 首頁路由 /…

深入解析 AAC AudioSpecificConfig 在 RTSP/RTMP 播放器中的核心作用

在音視頻開發中,“能播”往往只是第一步,**“能正確、穩定、高質量地播”**才是衡量一款播放器成熟度的真正標準。尤其是在面對 AAC 音頻流時,很多開發者容易忽視一個極其關鍵但看似微小的配置段 —— AAC Audio Specific Config(…

Redis在項目中的使用

Redis(Remote Dictionary Server,遠程字典服務)是一個開源的鍵值存儲系統,通常用作數據庫、緩存或消息傳遞系統。在項目中,Redis 可以發揮多種作用,以下是一些常見的使用場景: 1. 緩存 減少數據…

使用 collected 向 TDengine 寫入數據

collectd 是一個用來收集系統性能的守護進程。collectd 提供各種存儲方式來存儲不同值的機制。它會在系統運行和存儲信息時周期性的統計系統的相關統計信息。利用這些信息有助于查找當前系統性能瓶頸和預測系統未來的負載等。 只需要將 collectd 的配置指向運行 taosAdapter 的…

greeenplum7.2幾個問題的解決方案

問題1systemd-modules-load.service報錯 systemd-modules-load.service: 這個服務負責加載內核模塊。在容器環境下,除非特別需要,否則通常不需要加載額外的內核模塊。 auditd.service: 審計守護進程(Audit Daemon),用…

AppInventor2 MQTT教程之 - EasyIoT 平臺接入

之前發過一次MQTT超級入門教程,使用巴法云作為測試平臺,詳見: App Inventor 2 MQTT拓展入門(保姆級教程) 這里介紹MQTT接入另一家IoT平臺:EasyIoT。 網址:https://iot.dfrobot.com.cn/&#…

打造企業級 AI 能力中臺:Prompt DSL 管理與多模型前端架構

關鍵點 AI 能力中臺:企業級 AI 能力中臺整合多模型接入、Prompt 管理和組件復用,為跨團隊協作提供高效前端架構。Prompt DSL 管理:通過領域特定語言(DSL)標準化 Prompt 設計,支持動態配置和復用。多模型統…

NumPy 安裝使用教程

一、NumPy 簡介 NumPy(Numerical Python)是 Python 中用于進行科學計算的基礎庫之一。它提供了高效的多維數組對象 ndarray,以及用于數組操作、線性代數、傅里葉變換、隨機數等豐富的函數。 二、安裝 NumPy 2.1 使用 pip 安裝(推…

LeetCode Hot 100 哈希【Java和Golang解法】

1.兩數之和 1.兩數之和 Java解法 class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> record new HashMap<>();for(int i 0; i < nums.length; i) {int temp target - nums[i];if (record.containsKey(temp)) {return n…

MySQL(108)如何進行分片合并?

分片合并&#xff08;Sharding Merge&#xff09;是指在分布式數據庫系統中&#xff0c;將不同分片上的查詢結果進行整合&#xff0c;以獲得完整的查詢結果。實現分片合并主要包括以下幾個步驟&#xff1a; 查詢所有相關分片&#xff1a;在所有相關分片上執行查詢&#xff0c;…

輕量化5G加速上車!移遠通信發布車規級RedCap模組AG53xC系列

6月26日&#xff0c;全球領先的物聯網和車聯網整體解決方案供應商移遠通信宣布&#xff0c;重磅發布其首款車規級5G RedCap模組AG53xC系列。 該模組基于高通SA510M平臺打造&#xff0c;支持3GPP R17標準&#xff0c;在成本性能平衡、硬件兼容、軟件架構等方面表現優異&#xf…

如何在Ubuntu 20.04云服務器上安裝RabbitMQ?

如何在Ubuntu 20.04云服務器上安裝RabbitMQ&#xff1f; https://www.zhaomu.com/help/detail-824.html springboot 配置文件 spring.application.namerabbitmq-hellospring.rabbitmq.hostlocalhost spring.rabbitmq.port5672 spring.rabbitmq.usernameguest spring.rabbitm…

爬蟲實戰之圖片及人物信息爬取

爬蟲對于許多Python初學者來說都是一個好玩有趣的技能,但大多數人都是從網上得來的經驗,會認為學習爬蟲是件很難的事,像處理反爬機制以及反反爬,總是讓人望而卻步,今天我們來進行爬蟲實操,需要注意爬蟲本身并不違法,但惡意爬取文件將會涉及相關法律,為避免不必要的糾紛,本文采取…

vscode、openocd 使用

常用命令&#xff1a; # 先連接OpenOCD到硬件調試器&#xff0c;打開powershell命令行窗口, 會輸出連接端口信息 # openocd -f <接口配置文件> -f <目標芯片配置文件> openocd -f D:/program/xpack-openocd/openocd/scripts/interface/stlink-v2.cfg -f D:/progra…

HTTP 協議深入理解

在 Web 服務與 API 設計中&#xff0c;HTTP 協議是客戶端與服務器通信的基石。本文從協議演進、核心機制、緩存策略、安全特性及面試高頻問題五個維度&#xff0c;系統解析 HTTP 的底層原理與工程實踐。 一、HTTP 協議演進與版本差異 1.1 版本特性對比 版本發布年份核心改進局…

ABP VNext + Twilio:全渠道通知服務(SMS/Email/WhatsApp)

ABP VNext Twilio&#xff1a;全渠道通知服務&#xff08;SMS/Email/WhatsApp&#xff09; &#x1f680; &#x1f4da; 目錄 ABP VNext Twilio&#xff1a;全渠道通知服務&#xff08;SMS/Email/WhatsApp&#xff09; &#x1f680;一、引言 ?二、環境與依賴 &#x1f6e0…

電腦一體機,收銀機畫面顯示不全——深入解析 BIOS 配置電腦分辨率——東方仙盟

在電腦的復雜體系中&#xff0c;BIOS&#xff08;基本輸入輸出系統&#xff09;雖深藏幕后&#xff0c;但其對電腦分辨率的配置卻有著至關重要的影響。理解 BIOS 配置電腦分辨率的作用與意義&#xff0c;有助于我們更深入地挖掘電腦的性能潛力&#xff0c;優化視覺體驗。 一、…

arm系統移植

目錄 1. 流程2. 概念2.1 設備樹2.2 根文件系統2.3 文件說明 3. 交叉編譯鏈3.1 作用3.2 在linux下配置 4. tftp4.1 作用4.2 安裝過程 5. nfs5.1 作用5.2 安裝過程 6. 配置開發板7. linux下的uboot鏡像燒寫到SD卡中7.1 生成uboot二進制文件&#xff0c;二進制文件就是裸機程序。7…