內網環境下ubuntu 20.04搭建深度學習環境總結

2025年9月更新,隨著人工智能的發展,現在深度學習環境配置越來越簡單了,常用的pytorch、paddle(3.x)等深度學習庫安裝的時候自帶了cuda和cudnn的python包,不需要在操作系統層面自己安裝,配置環境方便快捷。

2024年1月9日更新,如果當服務器用,不建議安裝圖形界面,穩定性堪憂,每次操作系統卡死后本人需要到另一棟樓手動重啟,如果用作桌面系統倒是無所謂。
后來本人禁用了圖形界面。

# 多用戶模式
systemctl set-default multi-user.target
# 圖形界面
systemctl set-default graphical.target

2023年8月16日更新,經歷環境配置、維護的痛苦才知道docker有多香,建議測試開發使用docker完成,在深度學習這一塊,docker可以打包任意版本的cuda和cudnn鏡像,各種包版本都可以在容器中操作。宿主機上只需要安裝nvidia驅動和nvidia-container-toolkit。

Windows子系統WSL2也支持CUDA了,可以看我的另一篇文章。

圖形界面安裝

本人內網環境PC工作站用于跑模型
圖形界面安裝一般不需要額外安裝網卡等驅動,gcc版本默認9.4,網絡可使用圖形界面配置。

安裝系統

本人使用的UltraSO制作系統盤,網上教程很多。

配置root用戶登錄

配置root用戶方便操作,但是最高權限也可能導致一些問題,按需配置。

  • 最小化安裝下,創建系統時的用戶登錄后,直接為root設置密碼后root可正常登錄。
  • 圖形界面下,需要以下幾步
    1. 為root設置密碼

      sudo passwd root

    2. 修改/etc/gdm3/custom.conf,在[daemon]配置項下添加

      AllowRoot=true

    3. 修改/etc/pam.d/gdm-password,注釋掉該行

      auth required pam_succeed_if.so user != root quiet_success

    4. 重啟

參考ubuntu20.04圖形界面允許root登錄

更換apt源

相比以前,最近安裝ubuntu默認的源已經不慢了,按需替換apt源,如果是在內網,則必做此步。

cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 按照sources.list內容和目標源更改即可
sed -i 's/cn.archive.ubuntu.com\/ubuntu/10.160.8.81:8081\/repository\/ubuntu-aliyun/g' /etc/apt/sources.list

更新軟件

默認情況下,ubuntu20.04 Linux內核是5.15.0-76,截至2023年8月15日,更新后內核為5.15.0-79

apt-get update
apt-get upgrade

安裝Nvidia-driver、CUDA、CUDNN

本人首次配置踩了各種坑,包括系統、驅動等,個人踩過太多的坑,網上許多博客只能參考,每個人的情況都不一樣,最靠譜的還是官方文檔,這里貼出官方的安裝教程。

Nvidia-driver和CUDA官方安裝教程
cuDNN官方安裝教程

有兩種兩種方式,特定發行的軟件包(deb和rpm)和獨立的軟件包(runfile),rufile方式自帶了各種依賴,可在各種Linux發行版工作,但是容易與本地依賴包產生沖突,不太建議使用這種方式。推薦使用deb包方式,快捷簡單。

注意,安裝driver和安裝驅動最好使用同一種方式,即都用deb包或者都是用runfile方式!

注意,安裝完之后請不要隨意升級或降級內核版本!

nvidia驅動程序需要內核頭文件和開發包,并且一旦內核版本改變,驅動程序也需要重新編譯安裝。Runfile安裝方式不對內核相關包做任何檢驗,但是RPM和DEB包則會檢驗,如果沒有內核相關包,安裝程序將自動安裝這些包的最新版本,可能不匹配當前內核。因此,最好在安裝驅動程序和CUDA之前,安裝內核相關包的正確版本,否則可能出現各種各樣的問題。

安裝前準備

  1. lspci | grep -i nvidia查看顯卡設備,查看是否支持cuda
  2. gcc、linux內核版本等,ubuntu20.04不存在此問題
  3. 如果之前安裝過,請卸載干凈并重啟,如何卸載請看下文。

deb包安裝方式

下載自己需要的 CUDAdeb包,local或者network(內網的話下載local),然后參考下載頁面的安裝指示完成安裝,更詳細的步驟可以參考官網的安裝指示。
本人下載的是cuda11.8-ubuntu20.04-local,復制粘貼執行命令后cuda和driver都成功安裝,driver版本是520。開發過程中更關注的是cuda版本,driver只要能驅動顯卡即可,本人對驅動版本沒有要求。

如果需要安裝指定版本驅動

# sudo apt-get install cuda-drivers-<branch>
# 安裝418版本的驅動
sudo apt-get install cuda-drivers-418

需要確認本地apt添加了這個軟件包,這種安裝指定驅動的方式本人沒有嘗試過,網上也幾乎沒有見到過,不確定能否成功,更詳細的指示可以參考官網。
安裝完記得重啟,然后就可以開始添加環境變量了。

runfile安裝方式

首先貼上官網鏈接,本人安裝過程中碰到的很多問題多源于自己沒有認真看官網文檔,或者說懶得看英文,碰到問題沒法解決了才去認真讀官方文檔。官網runfile安裝方式,前幾段話就說明了RunFile安裝是通過基于交互式NCURSES的接口安裝NVIDIA驅動程序和CUDA工具包,安裝步驟指引、禁用Nouveau驅動、安裝后的附加操作、如何卸載以及CUDA跨平臺等內容,直接看官網文檔可以少走很多彎路。

安裝前準備

準備工作同上,默認的cuda runfile安裝包帶了驅動程序,能用但不是最新的。
英偉達cuda下載
英偉達顯卡驅動下載,最新版驅動。

禁用Nouveau驅動

創建/etc/modprobe.d/blacklist-nouveau.conf并再末尾加入以下內容

blacklist nouveau
options nouveau modeset=0

執行命令

sudo update-initramfs -u

這樣就禁用ubuntu默認的開源驅動程序了。

禁用開源Nouvea驅動后還需要一些設置并重啟才能生效,本人在沒看文檔之前,是直接重啟的,也沒碰到問題。
但是按照官網的指示,禁用開源驅動Nouvea后,修改linux內核啟動參數,設置runlevel為3(多用戶字符界面),不加載任何圖形驅動重啟系統,修改/etc/default/grub,找到下面這行,末尾添加nomodeset(不加載任何圖像驅動)和3(runlevel為3)。

GRUB_CMDLINE_LINUX_DEFAULT=“quiet nomodeset 3”

執行

update-grub
reboot

在安裝驅動的過程中如果碰到圖形界面無法正常顯示,開機一直黑屏的情況下,可以進入ubuntu的安全恢復模式(重啟ubuntu,電腦品牌logo出現后隨即長按shirft菜單,選擇第二個選項 Advanced options for Ubuntu,然后進入下一個界面,選recovery mode),修改這個文件如上所示,然后update-grub并重啟,即可正常開機進入字符界面,重新安裝驅動。

安裝驅動
sudo sh NVIDIA-Linux-x86_64-xxxxx.run

安裝驅動時會有警告和幾個選項

  • 如果之前安裝過,會確認是否繼續安裝,確認
  • 是否向 kernel 注冊 dkms 模塊,是,防止內核更新導致驅動的重新安裝
  • 是否安裝32位兼容庫,一般選否
  • 是否安裝opengl文件,一般選否
  • xconfig,本人選的是
安裝cuda

執行

sudo sh cuda_<version>_linux.run

然后彈出幾個選項,可選擇連帶driver一起安裝,也可以單獨安裝driver,如果在這里不選擇安裝驅動,請確保在這之前驅動已經安裝。安裝完驅動和cuda之后,還原/etc/default/grub文件,然后重啟

添加環境變量

vim ~/.bashrc

export CUDA_HOME=/usr/local/cuda-11.8
export LD_LIBARAY_PATH=$CUDA_HOME/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=$CUDA_HOME/bin${PATH:+:${PATH}}

執行source ~/.bashrc

cudnn安裝

官方安裝教程
下載需要的CUDNN版本,執行

apt-get install zlib1g
apt-get install ./下載的cudnn.deb文件
cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
apt-get update
apt search libcudnn*

會看到libcudnn,libcudnn-dev,libcudnn-samples三個包,分別是運行時庫,開發庫,示例和測試代碼,正常情況下安裝libcudnn即可。

sudo apt-get install libcudnn8=${cudnn_version}-1+${cuda_version}
sudo apt-get install libcudnn8-dev=${cudnn_version}-1+${cuda_version}
sudo apt-get install libcudnn8-samples=${cudnn_version}-1+${cuda_version}

測試安裝是否成功

  • nvidia-smi查看驅動是否安裝成功,顯示的cuda版本表示最高支持的cuda。
  • nvcc -V查看cuda版本,下載適配版本的pytorch驗證是否可調用cuda庫。
  • 安裝libcudnn-samples測試cudnn是否成功,如何測試請參考文檔。

驅動和CUDA卸載

  • runfile安裝方式
sudo /usr/local/cuda-X.Y/bin/cuda-uninstaller
sudo /usr/bin/nvidia-uninstall
  • deb包安裝方式
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \"*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"sudo apt-get --purge remove "*nvidia*" "libxnvctrl*"sudo apt-get autoremove

其他

非必要,本人在此一起記錄下

SSH服務,遠程需要

  1. 安裝ssh
    apt-get install ssh
    
  2. 配置root允許登錄
    vim /etc/ssh/sshd_config
    # PermitRootLogin yes
    # 修改后重啟sshd服務
    
  3. 設置開機自啟
    systemctl enable ssh
    
  4. 啟動ssh服務
    systemctl start ssh
    

cuda容器運行環境,docker需要

官方安裝教程
nvidia-container-toolkit用于在容器中使用NVIDIA GPU,包括一個容器運行時庫和實用程序。
在這里插入圖片描述
容器中有應用程序和cuda,通過docker和nvidia-container-toolkit與宿主機的nvidia driver聯系,然后使用顯卡。
這里以docker運行環境為例,安裝nvidia-container-toolkit。

  1. 安裝docker
  2. 安裝軟件源和CPG Key
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. 更新并安裝
apt-get update
apt-get install -y nvidia-container-toolkit

如果是內網環境下,需要下載nvidia-container-toolkit的所有依賴拷貝到內網并apt-get install *.deb,下面是下載某包及其依賴的命令。

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends nvidia-container-toolkit | grep -v i386 | grep "^\w")
  1. 設置docker nvidia運行時環境
  • 命令行配置
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
  • 配置文件
    vim /etc/docker/daemon.json,添加如下內容
"runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}}

重新加載配置,重啟docker

systemctl daemon-reload
systemctl restart docker
  1. 測試
# --gpus all 所有顯卡可用
# --gpus device=1 第二塊顯卡可用
# --gpus device=0,1 第一塊和第二塊顯卡可用
docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.8.0-runtime-ubuntu20.04 nvidia-smi

出現nvidia-smi命令的執行結果表示安裝成功

  1. nvidia/cuda docker倉庫
    nvidia/cuda倉庫地址
    里面有各版本的已經打好的cuda和cudnn鏡像,每個cuda版本對應有三種鏡像
  • base
    cuda運行時環境
  • runtime
    從base打包而來,包括cuda數學庫、NCCL和cudnn。一般我們拉runtime鏡像即可。
  • devel
    從runtime打包而來,包括一些頭文件和cuda開發工具,需要依賴做額外的開發,可以拉取這個鏡像。
  1. 自己打包nvidia/cuda鏡像
    克隆官方的git倉庫
    到docker hub創建賬戶,并新建一個存儲庫
# 登錄docker
docker login -u windcfcd cuda
# 打包windcf/cuda:11.8.0-ubuntu20.04鏡像,x86_64
# --push推送到docker hub
# --load保存為本地鏡像
./build.sh -d --image-name windcf/cuda --cuda-version 11.8.0 --os ubuntu --os-version 20.04 --arch x86_64 --push

在這里插入圖片描述
docker hub結果
在這里插入圖片描述

編譯安裝指定Python版本

ubuntu20.04默認安裝的python是3.8.10,如需安裝其他版本,可自行下載源碼編譯。
如果需要安裝多版本Python,可以看這里

以安裝python3.10.12為例

# 安裝依賴
apt update
apt install wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev# python源碼
wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
# 解壓
tar -xzvf Python3.10.12.tgz
# 編譯
cd Python-3.10.12/
./configure --prefix=/usr/local/python310 --enable-optimizations
make -j$(nproc)
# 安裝
make altinstall

安裝完之后python、pip等可執行程序在/usr/local/python310/bin目錄下,本人沒有覆蓋默認的python,使用時注意路徑即可。
如果需要設置為默認的python,執行

sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python310/bin/python3.10 110sudo update-alternatives --config python3

卸載新安裝的python

# 卸載
# 如果沒有刪除源代碼目錄
sudo make uninstall
# 已刪除源代碼目錄
cd /usr/local/python310/bin && rm -f sudo rm -f 2to3 2to3-3.11 idle3 idle3.11 pip pip3 pip3.10 pip3.11 pydoc3 pydoc3.11 python3 python3.11 python3.11-config python3-config

防火墻配置

ubuntu下iptables配置的規則重啟后失效,系統自帶了ufw命令配置防火墻,配置命令簡單易懂。
使用ufw配置后都會在iptables上體現,重啟后有效。

一些心得總結

安裝驅動和cuda其實挺簡單的,內網可能稍微麻煩點,但本人還是碰到了各種各樣的問題,安裝完后PC工作站使用一段時間又會卡死,工作站又放在機房,每次重啟很麻煩。找不到卡死的原因,推測是驅動的問題,又卸載重裝,來來回回遇到很多問題,在這里統一記錄下。

  • 關閉系統休眠
  • 關閉自動更新
  • 包沖突錯誤解決
    在安裝各種包的過程中多次遇到版本沖突,apt install --fix-broken無法解決,所有的apt install都不執行,解決辦法是使用apt下載需要的包,使用dpkg -i --force-overwrite deb_name強制覆蓋安裝。
  • 內網安裝外網包
    有些包不在ubuntu軟件源中,必須要聯網下載,本人在外網電腦創建一個和內網軟件環境一樣的虛擬機,需要連接外網下載的包現在虛擬機中下載后拷貝到內網,主要有兩種包。
    • deb包,使用上面提到的下載包及其依賴的命令在外網虛擬機下載后拷貝到內網,apt-get install *.deb
    • python包,有些包也不再pypi源,比如pytorch某些版本,某些包必須從源碼編譯等,外網使用pip download,拷貝到內網pip install *.whl,也可以將文件上傳到內網Nexus Pypi源。
  • 官方文檔

最小化安裝

ubuntu server識別不到網卡

安裝系統后,使用ip a命令發現只有lo本地回環,識別不到網卡,網上搜了挺久并不能解決問題。
猜測應該是缺了網卡驅動,畢竟網卡較新而操作系統較老且是最小化安裝,可能并沒有帶驅動,需要自己下載安裝。
lspci查看自己的網卡,結合主板等信息去外網下載對應驅動,拷貝到內網中。本人下載的是RTL8125,安裝驅動需要gcc、make等依賴,最小化安裝這些都是沒有的,需要手動離線安裝。

ubuntu server離線安裝gcc等依賴

手動下載了ubuntu server離線gcc、make等及其依賴,鏈接如下

鏈接:https://pan.baidu.com/s/1sK73grxfqokv0hADUS0DWg?pwd=dqz8
提取碼:dqz8

解壓后直接dpkg -i *.deb即可,默認ubuntu上好像沒unzip命令。

記錄一下直接下載某包及其依賴的命令

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends libasan5:amd64 | grep -v i386 | grep "^\w")

ubuntu server配置網絡

如果安裝的是桌面版,可以選擇圖形化界面配置。
20.04最小化版本配置網絡已不再/etc/network/interface中,而在/etc/netplan/xxxx.yaml中,以下是一個配置示例,ipv6相關配置改4為6即可。

# This is the network config written by 'subiquity'
network:ethernets:ens32:dhcp4: noaddresses: [192.168.8.6/24]optional: truegateway4: 192.168.8.2nameservers:addresses: [192.168.8.2]version: 2renderer: networkd

參考

Ubuntu20.04下CUDA、cuDNN的詳細安裝與配置過程

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

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

相關文章

深入 Linux 文件系統:從數據存儲到萬物皆文件

深入 Linux 文件系統&#xff1a;從數據存儲到萬物皆文件 Linux 文件系統是一個精妙而復雜的工程&#xff0c;它像一座圖書館&#xff0c;不僅存放著書籍&#xff08;數據&#xff09;&#xff0c;還有一套高效的卡片索引系統&#xff08;元數據&#xff09;來管理它們。本文將…

C++, ffmpeg, libavcodec-RTSP拉流,opencv實時預覽

文章目錄RTSPStreamPlayer.cppRTSPStreamPlayer.hmain.cpp編譯運行在ffmpeg_rtsp原有的rtsp拉流項目基礎上加入了udp連接rtsp&#xff0c;日志模塊&#xff0c;opencv實施預覽等功能。RTSPStreamPlayer.cpp #include "RTSPStreamPlayer.h" #include <iostream>…

MySQL在Ubuntu 20.04 環境下的卸載與安裝

目錄 前言&#xff1a;學習引入 1、安裝注意事項 2、學習建議 3、MySQL 和 MariaDB 核心概念一&#xff1a;它們是什么&#xff1f; 核心概念二&#xff1a;它們如何工作&#xff1f;&#xff08;“倉庫”比喻&#xff09; 核心概念三&#xff1a;為什么它們如此流行&…

BizDevOps 是什么?如何建設企業 BizDevOps 體系

在數字經濟加速滲透的今天&#xff0c;企業數字化轉型已從 “技術升級” 轉向 “價值重構”&#xff0c;單純的 IT 研發或業務優化已難以適應市場快速變化。業務研發運營一體化&#xff08;BizDevOps&#xff09;作為打通 “業務 - 技術 - 運維” 協同壁壘的核心模式&#xff0…

Mac菜單欄綜合工具FancyTool更新啦

本次更新聚焦「輕量體驗」深度優化&#xff1a;不僅重構了 CPU 占用邏輯與系統喚醒機制&#xff0c;讓后臺運行更高效&#xff1b;更讓動畫交互全程保持絲滑流暢&#xff0c;資源消耗卻低到近乎無感 —— 哪怕它常駐菜單欄&#xff0c;你也幾乎察覺不到它的存在&#xff0c;既不…

ARM匯編 led

1.相關介紹本次用的開發板是IMX6ULLCPU&#xff1a;NXP i.MX 6ULL Cortex-A7單核處理器&#xff0c;主頻 528MHz&#xff08;工業級&#xff09; 或 800MHz&#xff08;商業級&#xff09;467, GBA封裝內存&#xff1a;512MB DDR3L RAM&#xff0c;支持高速數據存取。存儲&…

彈窗分頁保留其他頁面勾選的數據(vue)

如圖所示&#xff0c;這是個常見的多選todolist不過這里多了個要求&#xff0c;彈窗上下頁面切換的時候需要保留勾選結果這其實也不難&#xff0c;但是如果每次都手動寫一遍卻有點惱人&#xff0c;這次捋一下思路&#xff0c;并把核心代碼記錄一下&#xff0c;方便下次翻找核心…

分享:一種為藍牙、WIFI、U段音頻發射設備提供ARC回傳數字音頻橋接功能的方案

隨著智能電視、流媒體設備的普及&#xff0c;用戶對高質量音頻輸出的需求激增。為解決多設備協同、無線化傳輸及ARC高保真音頻傳輸的痛點&#xff0c;納祥科技推出HDMI ARC音頻轉換方案&#xff1a;HDMI ARC音頻轉光纖/同軸/I2S/左右聲道&#xff0c;橋接無線音頻發射設備&…

在WPF項目中使用阿里圖標庫iconfont

使用阿里圖標庫的步驟&#xff1a; 1。從阿里圖標庫官方網站上下載圖標。 2。把阿里圖標庫&#xff08;WPF中支持.ttf字體文件&#xff09;引入 3。在App.xaml中添加圖標的全局樣式。推薦在此處添加全局樣式&#xff0c;為了保證圖標可以在所有窗體中使用。 代碼如下&#x…

vue3項目啟動流程講解

Vue 3 項目啟動流程詳解Vue 3 項目的啟動流程相比 Vue 2 有了顯著變化&#xff0c;采用了新的應用實例創建方式和組合式 API。下面我將詳細講解 Vue 3 項目的啟動過程&#xff0c;并提供一個可視化演示。實現思路創建 Vue 3 應用實例配置根組件和必要的插件掛載應用到 DOM展示啟…

【C++】LLVM-mingw + VSCode:Windows 開發攻略

LLVM-mingw 是一個基于 LLVM 項目的開源工具鏈&#xff0c;用于在類 Unix 系統&#xff08;如 Linux 或 macOS&#xff09;上為 Windows 平臺交叉編譯應用程序&#xff0c;它結合了 LLVM 編譯器基礎設施&#xff08;包括 Clang C/C/Objective-C 編譯器和 LLD 鏈接器&#xff0c…

AI內容標識新規實施后,大廠AI用戶協議有何變化?(六)科大訊飛

科大訊飛也是國產老將&#xff0c;當年OpenAI橫空出世&#xff0c;國內唯有文心和星火能與之一戰&#xff0c;早期效果感覺甚至是優于文心的&#xff0c;只是后面再也沒有什么大動靜出來。訊飛也算大廠了&#xff0c;但跟百度阿里這些老牌互聯網門閥相比&#xff0c;還是不夠持…

Error: MiniProgramError{“errMsg“:“navigateTo:fail webview count limit exceed“}

這個錯誤 "navigateTo:fail webview count limit exceed" 是微信小程序中常見的頁面棧溢出問題&#xff0c;原因是微信小程序對頁面棧深度有默認限制&#xff08;通常為10層&#xff09;&#xff0c;當使用 navigateTo 連續跳轉頁面導致頁面棧超過限制時就會觸發。解…

少即是多:從 MPTCP 看優化干預的邊界

“對待端到端傳輸&#xff0c;信息不足就要少干預&#xff0c;越干預越糟糕”&#xff0c;這是我的信條&#xff0c;這次再來說說 MPTCP。 Linux 內核 MPTCP 最好的調度算法就是 default 算法&#xff0c;沒有之一&#xff0c;因為它以代價最小&#xff0c;最自然的方式做到了保…

“開源AI智能名片鏈動2+1模式S2B2C商城小程序”在直播公屏引流中的應用與效果

摘要&#xff1a;本文聚焦于直播公屏引流場景&#xff0c;探討“開源AI智能名片鏈動21模式S2B2C商城小程序”如何通過技術賦能與模式創新&#xff0c;重構直播電商的流量獲取與轉化路徑。研究結合案例分析與實證數據&#xff0c;揭示該方案在提升用戶互動、優化供應鏈管理、降低…

基于大數據挖掘的藥品不良反應知識整合與利用研究

標題:基于大數據挖掘的藥品不良反應知識整合與利用研究內容:1.摘要 隨著醫療數據的爆炸式增長&#xff0c;大數據挖掘技術在醫療領域的應用日益廣泛。本研究旨在利用大數據挖掘技術對藥品不良反應知識進行整合與利用&#xff0c;以提高藥品安全性監測和管理水平。通過收集多源異…

國產時序數據庫選型指南-從大數據視角看透的價值

摘要&#xff1a;大數據時代時序數據庫崛起&#xff0c;工業物聯網場景下每秒百萬級數據點寫入成為常態。Apache IoTDB憑借單節點1000萬點/秒的寫入性能、毫秒級查詢響應和20:1超高壓縮比脫穎而出&#xff0c;其樹形數據模型完美適配工業設備層級結構。相比傳統數據庫&#xff…

教你使用服務器如何搭建數據庫

數據庫是存儲和管理數據的核心組件&#xff0c;無論是網站、應用還是企業系統&#xff0c;都離不開數據庫的支持。本文將以 萊卡云服務器 為例&#xff0c;教你如何快速搭建常用數據庫服務。一、準備工作服務器環境推薦操作系統&#xff1a;Ubuntu 20.04 / Debian 11 / CentOS …

西門子 S7-200 SMART PLC 核心指令詳解:從移位、上升沿和比較指令到流水燈控制程序實戰

對于 PLC 初學者來說&#xff0c;“流水燈” 是繞不開的經典入門案例 —— 它看似簡單&#xff0c;卻濃縮了 PLC 編程的核心邏輯&#xff1a;初始化、時序控制、指令應用與狀態判斷。今天我們就以 S7-200 SMART 為例&#xff0c;逐行拆解一段 8 位流水燈控制程序&#xff0c;帶…

P4342 [IOI 1998] Polygon -普及+/提高

P4342 [IOI 1998] Polygon 題目描述 題目可能有些許修改&#xff0c;但大意一致。 Polygon 是一個玩家在一個有 nnn 個頂點的多邊形上玩的游戲&#xff0c;如圖所示&#xff0c;其中 n4n 4n4。每個頂點用整數標記&#xff0c;每個邊用符號 &#xff08;加&#xff09;或符號 *…