【深度學習】Ubuntu 服務器配置開源項目FIGRET(PyTorch、torch-scatter、torch-sparse、Gurobi 安裝)

開源項目網址:https://github.com/FIGRET/figret
該項目在SIGCOMM2024發表,用深度學習方法處理流量工程中的突發問題

1. 創建新的 Conda 環境

使用國內鏡像源創建環境?

conda create -n figret python=3.8.0 --override-channels -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

2. 激活環境

conda activate figret

激活后,終端提示符會顯示 (figret),表示已進入該環境。


3. 安裝 PyTorch 及相關庫

(1) 根據 CUDA 版本安裝 PyTorch

首先檢查服務器的 CUDA 版本:

nvcc --version  # 查看 CUDA 工具包版本(例如 11.8 或 12.1)
nvidia-smi      # 查看驅動支持的最高 CUDA 版本

根據 CUDA 版本選擇 PyTorch 安裝命令:

  • CUDA 11.8
    查看CUDA版本
(figret) antl@antl-node11:~$ nvcc --version

顯示CUDA11.4,PyTorch 官方對 CUDA 11.4 的支持截至 ?1.12.1?(2022年7月)

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 \
--extra-index-url https://download.pytorch.org/whl/cu113

驗證pytorch
在這里插入圖片描述

(2) 安裝 torch-scattertorch-sparse

命令行安裝會出現找不到版本的問題,這里需要訪問以下網址手動安裝:
https://data.pyg.org/whl/torch-1.12.1%2Bcu113.html

進入whl所在文件夾手動安裝

pip install torch_scatter-2.0.9-cp38-cp38-linux_x86_64.whl 
pip install torch_sparse-0.6.14-cp38-cp38-linux_x86_64.whl

在這里插入圖片描述

驗證是否配置成功

import torch
from torch_scatter import scatter_add
from torch_sparse import SparseTensorprint(scatter_add)  # 輸出函數地址
print(SparseTensor)  # 輸出類地址

在這里插入圖片描述


4. 安裝其他依賴包

# 進入 FIGRET 項目目錄(假設 requirements.txt 在項目根目錄)
cd /path/to/figret_project# 安裝依賴包
pip install -r requirements.txt

5. 安裝 Gurobi 求解器

(1) 下載并安裝 Gurobi

下載地址:https://www.gurobi.com/downloads/gurobi-software/

# 解壓到 /opt(需要 sudo 權限)
#注意gurobi11.0.3是下載的版本
sudo tar -xvzf gurobi11.0.3_linux64.tar.gz -C /opt# 添加環境變量
echo "export GUROBI_HOME=/opt/gurobi1102/linux64" >> ~/.bashrc
echo "export PATH=${PATH}:${GUROBI_HOME}/bin" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib" >> ~/.bashrc
source ~/.bashrc

注意環境變量是在主環境配置的,可以作用于所有環境

(2) 申請學術許可證
  1. 訪問 Gurobi 學術許可頁面,注冊并獲取許可證密鑰。
    這里如果校園網網址無法被自動解析為校園網,需要發郵件申請
    在這里插入圖片描述
    申請流程非常快,筆者這邊僅5分鐘就收到了回信

  2. 在服務器上運行以下命令激活許可證:

   cd $GUROBI_HOME/binsudo ./grbgetkey 密鑰

6. 驗證環境

回到figret環境

conda activate figret

運行開源項目:

python3 figret.py --topo_name Facebook_pod_a --epochs 3 --batch_size 32 --alpha 0.03

在這里插入圖片描述
運行正常

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

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

相關文章

【SpringCloud】從入門到精通(上)

今天主播我把黑馬新版微服務課程MQ高級之前的內容都看完了,雖然在看視頻的時候也記了筆記,但是看完之后還是忘得差不多了,所以打算寫一篇博客再溫習一下內容。 課程坐標:黑馬程序員SpringCloud微服務開發與實戰 微服務 認識單體架構 單體架…

MySQL中動態生成SQL語句去掉所有字段的空格

在MySQL中動態生成SQL語句去掉所有字段的空格 在數據庫管理過程中,我們常常會遇到需要對表中字段進行清洗和整理的情況。其中,去掉字段中的空格是一項常見的操作。當表中的字段數量較少時,我們可以手動編寫 UPDATE 語句來處理。但如果表中包…

【Grok 大模型深度解析】第二期:架構探秘與訓練哲學

在上一期的內容中,我們對 Grok 大模型從技術溯源的角度,了解了它從 Transformer 架構局限性出發,邁向混合架構創新的歷程,同時也梳理了從 Grok - 1 到 Grok - 3 的版本迭代所帶來的技術躍遷以及其獨特的差異化優勢。這一期,我們將深入到 Grok 大模型的架構內部,探究其精妙…

c# 使用NPOI將datatable的數據導出到excel

以下是使用 NPOI 庫 將 DataTable 數據導出到 Excel 的詳細步驟和代碼示例(支持 .xls 和 .xlsx 格式): 步驟 1:安裝 NPOI NuGet 包 Install-Package NPOI Install-Package NPOI.OOXML # 若需導出 .xlsx 格式 步驟 2:完整代碼實現 using NPOI.SS.UserModel; using NPOI.…

基于SpringBoot的求職招聘網站系統(源碼+數據庫)

473基于SpringBoot的求職招聘網站系統,本系統共分為2個角色:系統管理員、用戶,主要功能如下 【前臺功能】 用戶角色功能: 1. 注冊和登錄:注冊賬戶并登錄系統,以便訪問更多功能。 2. 個人信息管理&#x…

CSS 過渡與變形:讓交互更絲滑

在網頁設計中,動效能讓用戶交互更自然、流暢,提升使用體驗。本文將通過 CSS 的 transition(過渡)和 transform(變形)屬性,帶你入門基礎動效設計,結合案例演示如何實現顏色漸變、元素…

rqlite:一個基于SQLite構建的分布式數據庫

今天給大家介紹一個基于 SQLite 構建的輕量級分布式關系型數據庫:rqlite。 rqlite 基于 Raft 協議,結合了 SQLite 的簡潔性以及高可用分布式系統的穩健性,對開發者友好,操作極其簡便,其核心設計理念是以最低的復雜度實…

mujoco graspnet 仿真項目的復現記錄

開源項目:https://gitee.com/chaomingsanhua/manipulator_grasp 復現使用的配置:linux系統ubuntu20.04 項目配置記錄: git clone 對應的code后: 需要在graspnet-baseline文件夾中繼續拉取文件,指令記錄:…

【js面試題】new操作做了什么?

這些年也面試了一些外包同事,不知道其他面試官的想法,但就我而言,我更喜歡聽到的是口述代碼的方式: 比如下述代碼 function Animal(age) {this.age age; // 設置新對象的屬性 }const cat new Animal("8");最有效的回…

freecad內部python來源 + pip install 裝包

cmake來源: 只能find默認地址,我試過用虛擬的python地址提示缺python3config.cmake python解釋器位置: python控制臺位置: pip install 裝包: module_to_install "your pakage" import os import FreeCAD …

樹和圖論【詳細整理,簡單易懂!】(C++實現 藍橋杯速查)

樹和圖論 樹的遍歷模版 #include <iostream> #include <cstring> #include <vector> #include <queue> // 添加queue頭文件 using namespace std;const int MAXN 100; // 假設一個足夠大的數組大小 int ls[MAXN], rs[MAXN]; // 定義左右子樹數…

展訊android15源碼編譯之apk單編

首先找到你要單編的apk生成的路徑&#xff1a; sys\out_system\target\product\ussi_arm64\system_ext\app\HelloDemo\HelloDemo.apk接著打開下面這個文件&#xff1a; sys\out_system\ussi_arm64_full-userdebug-gms.system.build.log在里面找關鍵字"Running command&q…

如何關閉MacOS中鼠標滾輪滾動加速

一、背景 想要關閉滾輪的 “滾動加速”&#xff0c;即希望滾動了多少就對應滾動頁面固定行數&#xff0c;現在macOS是加速滾動的&#xff0c;即滾動相同的角度會根據你滾動滾輪的速度不同最終頁面滾動的幅度不同。這點很煩&#xff0c;常導致很難定位。 macOS本身的設置是沒有…

河北工程大學e2e平臺,python

題目&#xff0c;選擇題包100分&#xff01; 題目&#xff0c;選擇題包100分&#xff01; 題目&#xff0c;選擇題包100分&#xff01; 聯系&#x1f6f0;&#xff1a;18039589633

【藍橋杯】貪心算法

1. 區間調度 1.1. 題目 給定個區間,每個區間由開始時間start和結束時間end表示。請選擇最多的互不重疊的區間,返回可以選擇的區間的最大數量。 輸入格式: 第一行包含一個整數n,表示區間的數量 接下來n行,每行包含兩個整數,分別表示區間的開始時間和結束時間 輸出格式:…

一維差分數組

2.一維差分 - 藍橋云課 問題描述 給定一個長度為 n 的序列 a。 再給定 m 組操作&#xff0c;每次操作給定 3 個正整數 l, r, d&#xff0c;表示對 a_{l} 到 a_{r} 中的所有數增加 d。 最終輸出操作結束后的序列 a。 ??Update??: 由于評測機過快&#xff0c;n, m 于 20…

二分答案----

二分答案 - 題目詳情 - HydroOJ 問題描述 給定一個由n個數構成的序列a&#xff0c;你可以進行k次操作&#xff0c;每次操作可以選擇一個數字&#xff0c;將其1&#xff0c;問k次操作以后&#xff0c;希望序列里面的最小值最大。問這個值是多少。 輸入格式 第一行輸入兩個正…

旋轉位置編碼

旋轉位置編碼&#xff08;Rotary Position Embedding&#xff0c;RoPE&#xff09;: 一種能夠將相對位置信息依賴集成到 self-attention 中并提升 transformer 架構性能的位置編碼方式。 和相對位置編碼相比&#xff0c;RoPE 具有更好的外推性&#xff0c;目前是大模型相對位…

.NET-EFCore基礎知識

.NET EF Core&#xff08;Entity Framework Core&#xff09;是微軟開發的一款開源的對象關系映射&#xff08;ORM&#xff09;框架&#xff0c;用于在.NET 應用程序中與數據庫進行交互。以下是一些.NET EF Core 的基礎知識&#xff1a; 1. 什么是 EF Core EF Core 是.NET 平…

利用 RNN 預測股票價格:從數據處理到可視化實戰

在金融領域&#xff0c;預測股票價格走勢一直是眾多投資者和研究者關注的焦點。今天&#xff0c;我們將利用深度學習中的循環神經網絡&#xff08;RNN&#xff09;來構建一個簡單的股票價格預測模型&#xff0c;并詳細介紹從數據加載、預處理、模型搭建、訓練到最終結果可視化的…