1. <s id="qg7bq"></s>
        
        <s id="qg7bq"><option id="qg7bq"></option></s>

        侵權投訴

        個人深度學習工作站配置詳細操作流程

        深度學習自然語言處理 ? 2021-01-03 09:30 ? 次閱讀

        前言

        工作原因一直想配置一臺自己的深度學習工作站服務器,之前自己看完paper想做一些實驗或者復現模型的時候只能用自己的日常PC來跑很麻煩...一方面電腦得裝雙系統,干活的時候就不能用作其他用途了;另一方面,即使是沒有使用流程的問題,GTX1080的性能也還是弱了一些,更何況我用的是一個A4迷你機箱,長時間高負載的訓練任務也不太可靠。

        以前在公司的時候還可以用公司的DGX訓練集群做一些實驗,但是我現在的開發環境已經切換到了昇騰的NPU架構芯片之上了,昇騰平臺算力方面雖然是比肩甚至可以超越英偉達,但是目前暫時很多學術界的生態都還是基于GPU服務器的(主要是指開源代碼),且我們這兒昇騰服務器對個人也不好買(且買不起),所以有一臺這樣的GPU工作站還是會方便一些。

        那么本文是我在組裝工作站過程中記錄的詳細操作流程,供有類似需求的同學參考~

        1. 硬件篇

        1.1 工作站配置選型

        e1479ac8-4690-11eb-8b86-12bb97331649.jpg

        配件全家福

        服務器的配置以個人使用性價比為主,同時考慮到以后的擴展性像是主板和機箱這些配件配置設置一些冗余。首先是CPU平臺的選擇,雖然AMD這兩年實在是香,但是作為生產力工具考慮到軟件庫的兼容性問題,還是決定選擇intel平臺里十代X系列CPU+X299主板,算是比較穩的方案,而且某東上CPU搭配主板套裝一起買也性價比也很高。GPU方面今年的30系顯卡都比較良心,使用兩塊3080或者一塊3090都是很給力的,24G的顯存也已經跟TITAN RTX持平了(價格卻只要一半)...這里考慮到主板上只能插兩塊PCIEx16的卡,為了以后可能的提升性能還需要再加一塊卡,所以3090是最佳選擇。

        最后選定的配置如下:

        • CPU:i9-10920X
        • 顯卡GPU:七彩虹RTX3090 Advance
        • 內存:芝奇幻光戟16G x 4共64G
        • 主板:華碩X299-DELUXE PRIME
        • 固態硬盤:1TB西數NVME SSD + 1TB三星870QVO SATA SSD
        • 機械硬盤:希捷EXOS 12TB氦氣盤
        • 電源:海盜船AX1200i 1200W模組電源
        • 散熱器:海盜船H100X240水冷 + 若干120機箱風扇
        • 機箱:海盜船AIR540 E-ATX機箱

        其中硬盤的設計是這樣的:1T的NVME固態做系統盤,12T的機械盤作為數據集倉庫,另外一個1T SATA固態作為訓練時的數據集緩存,因為IO讀寫速度也是會影響訓練效率的,所以相比于直接從機械盤里面讀取數據,加一塊SSD做cache效果會好很多。

        1.2 電腦組裝

        總之就是快樂的玩具拼裝過程~

        機箱尺寸比較大,預留的空間非常足所以不會出現像是在裝A4機箱時那種考驗走線和裝配順序的技巧問題;而且服務器嘛,安靜地塞在某個角落就好了,也不用過于考慮什么美觀問題,所以走線就很隨意了:

        e1f4b294-4690-11eb-8b86-12bb97331649.jpg

        這個機箱設計還是很科學的,預留了足夠多的擴展接口比如:2個 3.5寸可快拆盤位、5個2.5寸可快拆盤位、光驅位(用不到,后期改造了)、前后頂部一堆風扇位等等。線材基本都可以塞到機箱的另一個側面,前面板安裝了三個進風風扇,背部安裝了一個出風風扇,水冷的冷排和風扇在頂端。

        這里值得一提的是,正面的光驅位屬于用不上的老古董,所以我改造了一下準備裝一個小型的LCD屏幕上去,這樣偶爾需要進圖形桌面或者BIOS界面的時候,就不用再抱個顯示器插在機箱上了;此外以后也可以寫個軟件把這個屏幕作為系統狀態監視器來使用~

        e23082a6-4690-11eb-8b86-12bb97331649.jpg

        ↑ 后面會3D打印一個外殼把屏幕固定住。

        這個屏幕也是我前陣子剛設計的,項目已經開源了叫做PocketLCD,感興趣的可以去倉庫看看:

        https://github.com/peng-zhihui/PocketLCDgithub.com

        2. 系統篇

        系統選擇DL開發里面最常用的Ubuntu,最新的穩定版本是20.04,安裝過程需要準備一個U盤作為系統啟動盤。

        2.1 安裝Ubuntu 20.04系統

        1. 在官網下載Ubuntu鏡像:Ubuntu 20.04.1 LTS (Focal Fossa)(http://releases.ubuntu.com/20.04/),選擇Desktop Image版本,得到.iso的鏡像文件。
        2. Windows下使用UltraISO工具打開.iso鏡像文件,并將其寫入到一個U盤,得到系統啟動盤:
        e34c8734-4690-11eb-8b86-12bb97331649.jpg
        1. 將U盤插到服務器上,開機按del鍵(具體什么鍵跟主板型號有關)選擇啟動項進入臨時的Ubuntu系統,在圖形界面中選擇Install Ubuntu,所有配置都可以使用默認的,改一下用戶名和密碼即可。這里建議使用英文作為默認語言,省得給自己日后開發找麻煩哈。
        e38a5e60-4690-11eb-8b86-12bb97331649.jpg

        安裝過程中會聯網下載一些軟件包更新,可以直接點skip掉,在安裝好系統之后再手動更新也是一樣的。

        1. 進入系統后設置一下root賬戶密碼:
        sudo passwd root
        

        2.2 配置國內鏡像軟件源

        為了提升后續安裝軟件時的幸福感,第一步當然先要替換一下軟件源。

        1. 備份原來的源:
        cp /etc/apt/sources.list /etc/apt/sources.list.bak
        

        2. 將源的內容設置為阿里云鏡像:

        sudo vim /etc/apt/sources.list
        

        內容改為:

         deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
         deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
         deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
         deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
         deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
         deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
         deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
         deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
         deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
         deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
        

        3. 更新軟件列表:

        sudo apt update
        sudo apt upgrade
        

        也可以去網上搜其他鏡像,在我這邊經測試阿里云是最快的。另外也可以在圖形桌面環境下打開Software & Updates軟件,在里面也有網速測試并選擇最佳源的功能。

        2.3 安裝Pythonpip

        1. Ubuntu系統默認自帶python,有版本需求的話也可以自己安裝一下(不安裝也行因為后面會安裝conda環境):
        sudo apt install python3
        sudo apt install python3-pip
        

        2. 不管是不是自己安裝的python,替換python的pip源建議是一定操作一下的,pip安裝速度會快很多:

        cd ~
        mkdir .pip
        

        直接新建并編輯pip.conf:

        sudo vim ~/.pip/pip.conf
        

        改為以下內容(這里用的清華源,也可以試一下阿里、豆瓣等源):

        [global]
        index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ 
        [install]
        trusted-host = pypi.tuna.tsinghua.edu.cn
        

        3. 更改默認python版本,python目錄默認鏈接的是python2,而現在基本都是用python3開發了,每次都輸入python3很麻煩所以這里直接更換默認的python命令鏈接。

        把原來的python軟鏈接刪掉:

        sudo rm /usr/bin/python
        

        新建一個軟鏈接:

        sudo ln -s /usr/bin/python3 /usr/bin/python
        sudo ln -s /usr/bin/pip3 /usr/bin/pip
        

        現在輸入python就會進入python3環境了。

        2.4 配置SSH & 遠程桌面

        純凈安裝的系統里面默認沒有開啟SSH,我們手動安裝一下。

        1. 安裝ssh:
        sudo apt install ssh
        

        會自動安裝好很多依賴包并啟動服務,完成之后用XShell等軟件就可以SSH登錄服務器了。

        2. 安裝xrdp

        Xrdp 是一個微軟遠程桌面協議(RDP)的開源實現,它允許我們通過圖形界面控制遠程系統。這里使用RDP而不是VNC作為遠程桌面,是因為Windows自帶的遠程桌面連接軟件就可以連接很方便,另外RDP在Windows下的體驗非常好,包括速度很快(因為壓縮方案做得比較好),可以直接在主機和遠程桌面之間復制粘貼等等。

        e3df1806-4690-11eb-8b86-12bb97331649.jpg

        有的Xwindow軟件是不太兼容xrdp的(比如ubuntu 18.04的默認桌面),但是ubuntu 20.04使用的Gnome是完全ok的。

        安裝過程如下:

        sudo apt install xrdp
        

        安裝完成xrdp 服務將會自動啟動,可以輸入下面的命令驗證它:

        sudo systemctl status xrdp
        

        默認情況下,xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key,它僅僅對ssl-cert用戶組成員可讀,所以需要運行下面的命令,將xrdp用戶添加到這個用戶組:

        sudo adduser xrdp ssl-cert  
        sudo systemctl restart xrdp
        

        然后使用Windows自帶的遠程桌面軟件連接服務器IP地址或者域名就行了。

        2.5 安裝frp進行內網穿透

        前面介紹的SSH和遠程桌面都是需要在局域網下通過IP地址進行連接的,而我們配置一臺服務器最重要的訴求,應該是可以隨時隨地去訪問服務器。

        那在家里面,網絡運營商提供的網絡服務通過路由器路由到各個設備,此時路由器會同時具備內網地址(路由器之內,局域網,LAN,也就是192.168.x.x)和外網地址(路由器之外,互聯網,WAN)。但是其實這個WAN口的IP并不是真正的“公網IP”,而是經過了多層的NAT轉換之后的地址,外網的設備是不能通過這個地址訪問到路由器的。這個問題的原因是ipv4地址池緊張,如果運營商給每家的路由器都安排一個公網ip的話,那ip地址早就不夠用了呀。

        因此為了能讓外網訪問到我們局域網內的設備,就需要跟中國電信等運營商申請公網ip(現在能申請到的概率也已經不大了,而且即使申請到也不是所有端口都可以使用的),或者我們自己動手做一些操作來達到同樣的目的。

        有幾種方法:

        • 可以直接用類似花生殼(https://hsk.oray.com/)這樣的DDNS服務平臺做轉發實現內網穿透,優點是比較簡單穩定,缺點是需要持續付費,而且速度和延遲效果一般,而且每加一個端口都要額外付費。
        • 也可以像我一樣使用frp之類的軟件做反向代理來實現內網穿透,這個方案也是需要你有一臺帶公網IP的云服務器的,優點就是完全可控,自己想配置多少個端口的穿透都可以,速度跟你的云服務器帶寬有關。

        為什么需要多個端口?是因為不同應用占用的端口不同,比如我們的SSH走的是22號端口,而遠程桌面的rdp走的是3389號端口,如果需要自建Web服務的話則是走80/443端口、想把工作站作為上外網的代理服務器的話會需要1080端口等等...所以用上面第二個方案顯然會方便很多,而且云服務器也不貴,我在騰訊云上購買一年只要200左右。

        下面介紹如何安裝配置frp:

        frp分為frps(server)和frpc(client)兩個包 ,其中前者安裝到我們的云服務器上,后者安裝在需要被外網訪問到的各個設備上,這里就是指我們的深度學習工作站。

        云服務器端:

        https://github.com/fatedier/frp/releases下載適合你服務器系統的frp軟件,我這里是用的是騰訊云64位Ubuntu16.04所以選擇frp_0.34.3_linux_amd64.tar.gz(https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz),下好之后解壓:

        tar -zxvf frp_0.34.3_linux_amd64.tar.gz
        

        我們需要編輯的文件是frps.ini :

        內容改為:

         [common]
         bind_port = 7000 # frp服務的端口號,可以自己定
         dashboard_port = 7500 # frp的web界面的端口號
         dashboard_user = user # web界面的登陸賬戶,自己修改
         dashboard_pwd = pass # web界面的登陸密碼,自己修改
         authentication_method = token
         token = xxxxx # frp客戶端連接時的密碼,自己修改
        

        保存配置后,使用該命令啟動:

         ./frps -c ./frps.ini
        

        在瀏覽器輸入 [云服務器的公網ip]:7500 即可訪問到 frp的web管理界面。

        注意,可能需要去云服務器控制臺配置安全組規則 開放以上涉及到的端口,否則無法訪問。

        本地的深度學習服務器端:

        1. 下載相應版本的frpc軟件包(跟剛剛一樣的):Releases · fatedier/frp (github.com)(https://github.com/fatedier/frp/releases),這里選amd64的,下好之后解壓到一個臨時文件夾。
        2. 修改frpc.ini配置文件,內容如下:
         [common]
         server_addr = xx.xx.xx.xx # 你的云服務器的公網ip
         authentication_method = token
         token = xxxxx # 剛剛配置的frp連接密碼 
         server_port = 7000 # 剛剛配置的frp服務端口
         
         [Fusion-ssh]
         type = tcp
         local_ip = 127.0.0.1
         local_port = 22
         remote_port = 20022
         
         [Fusion-rdp]
         type = tcp
         local_ip = 127.0.0.1
         local_port = 3389
         remote_port = 23389
        

        通過上面的腳本就可以把對于云服務器特定端口的訪問給重定向到本地服務器的某個端口了,簡單地講就是:假如我用SSH客戶端訪問 [云服務器ip]:20022,就可以經過反向代理直接訪問到[本地的訓練服務器ip]:22;同理需要連接遠程桌面的話,只需要訪問[云服務器ip]:23389就可以了。

        當然你也可以修改腳本添加更多映射~

        3. 添加開機自動啟動的腳本,新建一個文件內容如下:

        文件名/etc/systemd/system/frpc.service,注意修改其中的路徑:

         [Fusion]
         Description=Frp Server Daemon
         After=syslog.target network.target
         Wants=network.target
         
         [Service]
         Type=simple
         ExecStart=/usr/local/bin/frp/frpc -c /usr/local/bin/frp/frpc.ini # 修改為你的frp實際安裝目錄
         ExecStop=/usr/bin/killall frpc
         #啟動失敗1分鐘后再次啟動
         RestartSec=1min
         KillMode=control-group
         #重啟控制:總是重啟
         Restart=always
         
         [Install]
         WantedBy=multi-user.target
        

        然后執行以下命令啟用腳本:

        sudo systemctl enable frpc.service
        sudo systemctl start frpc.service
        

        通過下面的命令查看服務狀態,如果是running的話就說明可以了:

        sudo systemctl status frpc.service
        

        這里順便提一下,按照習慣一般把上面的frp軟件解壓防止在/usr/local/bin目錄下。Linux 的軟件安裝目錄是也是有講究的,理解這一點,在對系統管理是有益的

        • /usr:系統級的目錄,可以理解為C:/Windows/
        • /usr/lib:可以理解為C:/Windows/System32
        • /usr/local:用戶級的程序目錄,可以理解為C:/Progrem Files/,用戶自己編譯的軟件默認會安裝到這個目錄下
        • /opt:用戶級的程序目錄,可以理解為D:/Software,opt有可選的意思,這里可以用于放置第三方大型軟件(或游戲),當你不需要時,直接rm -rf掉即可。在硬盤容量不夠時,也可將/opt單獨掛載到其他磁盤上使用

        源碼放哪里?

        • /usr/src:系統級的源碼目錄
        • /usr/local/src:用戶級的源碼目錄。

        2.6 安裝SAMBA服務

        如果能把服務器上的磁盤直接掛載到我們使用的Windows個人PC上是不是很爽?

        如開頭的視頻里面演示的,可以通過建立局域網SAMBA服務來實現這個效果:

        1. 安裝sambasamba-common-bin
        sudo apt-get install samba samba-common-bin
        
        1. 配置/etc/samba/smb.conf文件
        sudo nano /etc/samba/smb.conf
        

        在最后一行后面加入:

        # 共享文件夾顯示的名稱
        [home]
        # 說明信息
        comment = Fusion WorkStation Storage
        # 可以訪問的用戶
        valid users = pengzhihui,root
        # 共享文件的路徑
        path = /home/pengzhihui/
        # 可被其他人看到資源名稱(非內容)
        browseable = yes
        # 可寫
        writable = yes
        # 新建文件的權限為 664
        create mask = 0664
        # 新建目錄的權限為 775
        directory mask = 0775
        

        可以把配置文件中你不需要的分享名稱刪除,例如 [homes], [printers] 等。

        運行這個命令測試一下配置文件是否有錯誤,根據提示做相應修改:testparm

        3. 添加登陸賬戶并創建密碼

        必須是 linux 已存在的用戶:

        sudo smbpasswd -a pi
        

        然后重啟服務即可:

        sudo /etc/init.d/samba-ad-dc restart
        

        接下來可以在Windows的網絡中發現設備了:

        e42192b2-4690-11eb-8b86-12bb97331649.jpg

        但是可能會出現無法點開的情況,這里需要在Windows的憑據管理器中添加賬戶信息(開始菜單里搜索憑據管理器即可打開),點擊添加Windows憑據,輸入你的服務器名稱和賬戶密碼:

        e465ea20-4690-11eb-8b86-12bb97331649.jpg

        接下來就可以點進去看到服務器上的文件了。為了更加方便地進行文件交互,我們添加對應的磁盤到Windows資源管理器的此電腦中:

        e4b122c4-4690-11eb-8b86-12bb97331649.jpg

        選擇剛剛服務器的網絡路徑即可添加:

        e50f9eda-4690-11eb-8b86-12bb97331649.jpg

        3. DL開發環境配置篇

        配置這臺服務器的主要作用就是做深度學習訓練,所以GPU相關的驅動和環境時肯定要安排好的,網上資料很多很雜,這里梳理出了最便捷可靠的安裝方法供大家參考~

        3.1 安裝Nvidia顯卡驅動

        最簡單的方式是通過系統的軟件與更新來安裝:

        1. 進入系統的圖形桌面,打開Software & Updates軟件,可以看到標簽欄有一個Additional Drivers
        e58fe2e8-4690-11eb-8b86-12bb97331649.jpg

        選擇第一個安裝Nvidia官方驅動(第二個是開源驅動)即可,根據網絡情況稍等大概十分鐘,安裝完重啟服務器。

        1. 重啟完之后更新一下軟件:
        sudo apt update
        sudo apt upgrade
        

        這里會連帶Nvidia的驅動一起升級一遍,更新到最新的驅動;更新完可能會出現nvidia-smi命令報錯,再重啟一下就解決了。

        3.2 安裝CUDA

        如果之前安裝了舊版本的cuda和cudnn的話,需要先卸載后再安裝:

         sudo apt-get remove --purge nvidia*
        

        然后按照前面的方法重新安裝顯卡驅動,安裝好了之后開始安裝CUDA:

        1. 去官網下載cuda安裝包CUDA Toolkit 11.0 Download | NVIDIA Developer(https://developer.nvidia.com/cuda-11.0-download-archive),相關選項如下(根據實際情況選擇):
        e5b85214-4690-11eb-8b86-12bb97331649.jpg
        1. 運行下面的命令進行安裝:
        chmod +x cuda_11.0.2_450.51.05_linux.run
        sudo sh ./cuda_11.0.2_450.51.05_linux.run
        

        可能會報一個警告:

        e8f6f61a-4690-11eb-8b86-12bb97331649.jpg

        前面已經卸載過舊版本了直接Continue就好。然后根據提示選擇安裝選項,注意不要勾選第一個安裝顯卡驅動的,因為之前已經安裝過了。安裝完成后提示

        e9255014-4690-11eb-8b86-12bb97331649.jpg

        3. 根據上圖提示需要配置環境變量:

        nano  ~/.bashrc
        

        在文件最后加入以下語句:

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

        然后使其生效:

        source ~/.bashrc
        

        4. 可以使用命令nvcc -V查看安裝的版本信息:

        e95171bc-4690-11eb-8b86-12bb97331649.jpg

        也可以編譯一個程序測試安裝是否成功,執行以下幾條命令:

        cd ~/Softwares/cuda/NVIDIA_CUDA-11.0_Samples/1_Utilities/deviceQuery
         make
        ./deviceQuery
        

        正常的話會有相應輸出,打印顯卡的信息。

        3.3 安裝CuDNN

        進入到CUDNN的下載官網:cuDNN Download | NVIDIA Developer(https://developer.nvidia.com/rdp/cudnn-download),然點擊Download開始選擇下載版本,當然在下載之前還有登錄,選擇版本界面如下:

        e984d8f4-4690-11eb-8b86-12bb97331649.jpg

        我們選擇和之前cuda版本對應的cudnn版本:

        e9b0083a-4690-11eb-8b86-12bb97331649.jpg

        下載之后是一個壓縮包,對它進行解壓,命令如下:

         tar -xzvf cudnn-11.0-linux-x64-v8.0.5.39.tgz
        

        使用以下兩條命令復制這些文件到CUDA目錄下:

         sudo cp cuda/lib64/* /usr/local/cuda-11.0/lib64/
         sudo cp cuda/include/* /usr/local/cuda-11.0/include/
        

        拷貝完成之后,可以使用以下命令查看CUDNN的版本信息:

         cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
        

        可以看到版本信息如下,為8.0.5

        e9ddd152-4690-11eb-8b86-12bb97331649.jpg

        3.4 安裝Conda環境

        不同的訓練框架和版本可能會需要不同的python版本相對應,而且有的包比如numpy也對版本有要求,所以比較優雅的方法是給每個配置建立一個虛擬的python環境,在需要的時候可以隨時切換,而不需要的時候也能刪除不浪費磁盤資源,那在這方面conda是做得最好的。

        下面介紹怎么安裝conda:

        1. 在Anaconda官網下載Linux安裝包:Anaconda | Individual Edition (https://www.anaconda.com/products/individual)
        2. 運行下面的命令安裝:
        chmod +x Anaconda3-2020.11-Linux-x86_64.sh
        
        ./Anaconda3-2020.11-Linux-x86_64.sh
        

        一路按ENTER確認,然后根據提示輸入yes,這里我為了目錄整潔不安裝在默認路徑,設置為下面的路徑:/home/pengzhihui/Softwares/anaconda

        然后會詢問你是否要初始化conda,輸入yes確認,重開終端窗口之后,就可以看到conda環境可用了(base代表默認環境):

        ea009fb6-4690-11eb-8b86-12bb97331649.jpg

        conda的使用方法網上搜一下有很多,這里就不贅述了。

        3.5 安裝Nvidia-Docker

        Docker也是虛擬化環境的神器,前面說的conda雖然可以提供python的虛擬環境并方便地切換,但是有的時候我們的開發環境并不只是用到python,比如有的native庫需要對應gcc版本的編譯環境,或者進行交叉編譯時安裝很多工具鏈等等。如果這些操作都在服務器本地上進行,那時間久了就會讓服務器的文件系統非常雜亂,而且還會遇到各種軟件版本沖突問題。

        Docker就可以很好地解決這些問題,它其實可以理解為就是一個非常輕量化的虛擬機,我們可以在宿主服務器上新建很多個這種被稱為容器的虛擬機,然后在里面配置我們的開發環境,且這些配置好的環境是可以打包成鏡像的,方便隨時做分享和重用;不需要的時候,我們直接刪除容器就好了,其資源是和我們的服務器宿主機完全隔離的。

        Docker的具體使用可以自己搜索一下很多教程,這里主要介紹如何把GPU暴露給Docker的容器(因為大家都知道像是VMware這種虛擬機里面都是無法共享宿主機的GPU的),是通過nvidia-docker實現的。

        以前為了配置nvidia-docker,需要安裝完docker之后再安裝單獨的nvidia docker2,而現在只需要安裝nvidia container toolkit即可,更加方便了。

        1. docker安裝 官網上有詳細的介紹:Install Docker Engine on Ubuntudocs.docker.com(https://docs.docker.com/engine/install/ubuntu/) 或者運行下面的命令安裝:
        sudo apt-get update
        sudo apt-get install docker.io
        systemctl start docker
        systemctl enable docker
        

        可以運行這條命令檢查是否安裝成功:

        docker version
        

        2. 安裝NVIDIA Container Toolkit

        ea3de9b6-4690-11eb-8b86-12bb97331649.png

        官網安裝步驟:NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs (github.com) (https://github.com/NVIDIA/nvidia-docker) 或者直接運行下面的命令:

         ##首先要確保已經安裝了nvidia driver
         # 2. 添加源
         distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
         curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
         curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
         
         # 2. 安裝并重啟
         sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
         sudo systemctl restart docker
        

        安裝完成后可以新建一個容器測試一下:

        sudo docker run -it --name test_nvidia_docker --gpus all nvidia/cuda:11.1-base
        

        其中最后的參數nvidia/cuda:11.1-base 是Nvidia官方的鏡像,需要根據工作站主機中實際安裝的cuda版本進行修改,版本可以用nvcc -V查看。

        進入容器之后可以跑一下nvidia-smi命令看看:

        eaa1e678-4690-11eb-8b86-12bb97331649.jpg

        現在可以在docker里面正常使用GPU啦~

        3.6 測試

        這里通過一個簡單的python腳本測試一下GPU訓練是否一切正常,跑一個DL里面的Hello World程序,通過兩種方法測試:本地conda和docker虛擬機。

        以后的開發過程中一般還是使用Docker的方式來進行更為優雅。

        1. 本地Conda環境方式:

        先用conda新建一個python3.8+pytorch1.7+cuda11.0的虛擬環境:

         conda create --name python_38-pytorch_1.7.0 python=3.8
        

        創建完成后進入環境:

         conda activate python_38-pytorch_1.7.0
        

        檢查一下是否切換到所需環境了:

         which pip
        

        如果看到使用的確實是我們設置的環境目錄中的pip的話說明就ok。

        接下來在環境中安裝pytorch,可以參考官網的安裝命令:Start Locally | PyTorch(https://pytorch.org/get-started/locally/)

        eadb5cc8-4690-11eb-8b86-12bb97331649.jpg

        輸入以下命令進行安裝:

         pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
        

        環境配置就完成了,下面新建一個簡單的測試腳本驗證功能,新建mnist_train.py,內容如下:

        import torch
        import torch.nn as nn
        import torch.nn.functional as F
        import torch.optim as optim
        import torch.backends.cudnn as cudnn
        from torchvision import datasets, transforms
        
        
        class Net(nn.Module):
            def __init__(self):
                super(Net, self).__init__()
                self.conv1 = nn.Conv2d(1, 10, kernel_size=5)
                self.conv2 = nn.Conv2d(10, 20, kernel_size=5)
                self.conv2_drop = nn.Dropout2d()
                self.fc1 = nn.Linear(320, 50)
                self.fc2 = nn.Linear(50, 10)
        
        
        def forward(self, x):
            x = F.relu(F.max_pool2d(self.conv1(x), 2))
            x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2))
            x = x.view(-1, 320)
            x = F.relu(self.fc1(x))
            x = F.dropout(x, training=self.training)
            x = self.fc2(x)
            return F.log_softmax(x, dim=1)
        
        
        def train(model, device, train_loader, optimizer, epoch):
            model.train()
            for batch_idx, (data, target) in enumerate(train_loader):
                data, target = data.to(device), target.to(device)
                optimizer.zero_grad()
                output = model(data)
                loss = F.nll_loss(output, target)
                loss.backward()
                optimizer.step()
                if batch_idx % 10 == 0:
                    print('Train Epoch: {} [{}/{} ({:.0f}%)]	Loss: {:.6f}'.format(
                        epoch, batch_idx * len(data), len(train_loader.dataset),
                               100. * batch_idx / len(train_loader), loss.item()))
        
        
        def main():
            cudnn.benchmark = True
            torch.manual_seed(1)
            device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
            print("Using device: {}".format(device))
            kwargs = {'num_workers': 1, 'pin_memory': True}
            train_loader = torch.utils.data.DataLoader(
                datasets.MNIST('./data', train=True, download=True,
                               transform=transforms.Compose([
                                   transforms.ToTensor(),
                                   transforms.Normalize((0.1307,), (0.3081,))
                               ])),
                batch_size=64, shuffle=True, **kwargs)
        
        
        model = Net().to(device)
        optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.5)
        
        for epoch in range(1, 11):
            train(model, device, train_loader, optimizer, epoch)
        
        if __name__ == '__main__':
            main()
        
        

        運行腳本,正常的話就可以看到訓練輸出了:

        eb1a19d6-4690-11eb-8b86-12bb97331649.jpg

        2. Docker環境方式:

        首先還是新建一個Docker鏡像,運行下面的命令:

         sudo docker run  -it  --name train_mnist 
         -v /etc/timezone:/etc/timezone 
         -v /etc/localtime:/etc/localtime 
         -v /home/pengzhihui/WorkSpace/_share:/home/workspace/_share  
         --gpus all nvidia/cuda:11.1-base
        

        就進入到了帶gpu的ubuntu20.04容器中,效果可以參考文章開頭的視頻。按照前面的配置方法同樣配置好pytorch和其他軟件包,然后運行同樣的腳本,也可以得到上述輸出,說明gpu在docker中正常工作。

        4. 工作站維護篇

        4.1 工作站系統備份還原

        1. 備份

        由于Linux本身萬物皆文件的設計理念,加上root用戶對幾乎全部的系統文件都有訪問和更改的權限,因此Linux系統的備份和還原其實非常簡單,我們直接打包整個根文件系統就可以了。

        我們可以使用tar命令來打包并壓縮文件系統,不過這里在打包的過程中需要排除一些不需要文件,或者與新系統文件沖突的文件,包括/tmp/proc/lost+found 等目錄。

        找一個你想保存備份文件的目錄,運行下面的命令:

        tar -cvpzf ubuntu_backup@`date +%Y-%m+%d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/boot  --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run /
        

        我們會得到一個名為backup.tgz的壓縮文件,這個文件包含我們需要備份的系統的全部內容。

        2. 還原

        如果系統沒有出問題可以正常啟動的話,那直接在剛剛的壓縮包找找到想還原的文件替換就好了。而如果系統無法啟動了,或者說想換一塊硬盤克隆一樣的系統,那么可以按一下步驟操作:

        • 重裝干凈的Ubuntu系統。跟上面介紹的一樣,使用U盤給目標磁盤重裝一個干凈的系統,這一步是為了省去自己分配存儲空間和掛載的麻煩,如果你會自己配置的話那也可以不做這一步。
        • 再次使用U盤進入系統,這次選擇try ubuntu without installing,然后可以看到掛載好的剛剛安裝了干凈系統的另一個盤,我們在這里對盤里的根文件系統進行一些文件的提取:
        sudo su
        
        # 在tryUbuntu根目錄下有media文件夾,里面是U盤文件夾和新安裝的系統文件夾,在在里分別用(U盤)和(UBUNTU)表示
        cd /media/(U盤)
        mount -o remount rw ./
         
        # 將新系統根目錄下/boot/grub/grub.cfg文件備份到U盤中
        sudo cp /media/(Ubuntu)/boot/grub/grub.cfg ./    
         
        # 將新系統根目錄下/etc/fstab文件備份到U盤中,fstab是與系統開機掛載有關的文件,grub.cfg是與開機引導有關的文件,所以這一步至關重要
        sudo cp /media/(UBUNTU)/etc/fstab ./
         
        # 這一步刪除新裝ubuntu全部的系統文件,有用的fstab及grub.cfg已經備份
        cd /media/(UBUNTU)
        sudo rm -rf ./*
         
        # 將U盤中backup.tgz復制到該目錄下并解壓縮
        cp /media/(U盤)/backup.tgz ./
        sudo tar xvpfz backup.tgz ./
         
        # 創建打包系統時排除的文件
        sudo mkdir proc lost+found mnt sys media
        

        這一步完成后,在用我們在新系統中備份的fatabgrub.cfg 文件去替換壓縮包中解壓出來的同名文件,sudo reboot重啟后就發現系統已經恢復到備份時的狀態,包括各種框架,環境,系統設置~

        以上,后面有更新的話還會繼續補充,希望對大家有幫助~

        責任編輯:xj

        原文標題:保姆級教程:個人深度學習工作站配置指南

        文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。


        原文標題:保姆級教程:個人深度學習工作站配置指南

        文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

        收藏 人收藏
        分享:

        評論

        相關推薦

        基于空閑檢測機制的電力集中抄表系統設計

        伴隨著科技的不斷發展,智能化漸漸成為人們關注的焦點,并在社會和生活的各個角落不斷深化,大量的人力物力....
        的頭像 牽手一起夢 發表于 06-14 17:12 ? 45次 閱讀
        基于空閑檢測機制的電力集中抄表系統設計

        基于LonWorks技術實現家庭智能控制系統的應用設計

        針對目前家庭智能化所存在的功能規劃不詳盡、設備功能單一、運用技術參差不齊等缺點,本文運用現場總線Lo....
        的頭像 牽手一起夢 發表于 06-14 14:38 ? 303次 閱讀
        基于LonWorks技術實現家庭智能控制系統的應用設計

        基于網絡存儲技術實現地震數據處理解釋一體化的布諸和管理應用

        地震處理解釋中心的主要工作是將地下地質的地震信號,通過地面提取后,用大型計算機進行處理。形成地下的構....
        的頭像 牽手一起夢 發表于 06-14 14:35 ? 162次 閱讀
        基于網絡存儲技術實現地震數據處理解釋一體化的布諸和管理應用

        基于AT89S52單片機和GPS OEM 板實現GPS授時服務器的設計

          GPS授時服務器主要由AT89S52單片機、LCM顯示模塊和GPS OEM 模塊 GPS25-L....
        的頭像 牽手一起夢 發表于 06-14 14:18 ? 211次 閱讀
        基于AT89S52單片機和GPS OEM 板實現GPS授時服務器的設計

        基于Linux服務器和VLAN實現策略路由的技術方案

        隨著網絡的普及,小型企業的局域網在資金短缺的情況下如何花更少的錢去實現較為復雜的網絡功能、滿足人們對....
        的頭像 牽手一起夢 發表于 06-14 11:23 ? 60次 閱讀
        基于Linux服務器和VLAN實現策略路由的技術方案

        全面簡析RocketMQ 架構

        Apache RocketMQ 是阿里開源的一款高性能、高吞吐量的分布式消息中間件。 整體架構 Ro....
        的頭像 馬哥Linux運維 發表于 06-12 17:07 ? 68次 閱讀
        全面簡析RocketMQ 架構

        基于8種典型的應用電路電路評估板MAX3128 EVK特性介紹

        MAX31328 是一款低成本、極其精確的 I2C 實時時鐘 (RTC),集成了溫度補償晶體振蕩器 ....
        發表于 06-12 09:25 ? 191次 閱讀
        基于8種典型的應用電路電路評估板MAX3128 EVK特性介紹

        Arm推出三款基于Armv9架構的全新CPU內核

        從全面升級到Armv9架構,到公布Neoverse V1和N2平臺技術細節,再到推出三款基于Armv....
        的頭像 lhl545545 發表于 06-12 09:11 ? 91次 閱讀
        Arm推出三款基于Armv9架構的全新CPU內核

        端到端深度學習神經網絡模型BiGRU-FCN

        時間序列數據具有非離散性、數據之間的時序相關性、特征空間維度大等特點,當前大多數分類方法需要經過復雜....
        發表于 06-11 16:40 ? 12次 閱讀
        端到端深度學習神經網絡模型BiGRU-FCN

        基于Internet遠程測控的關鍵技術及應用分析

        Internet是采用基于開放系統的網絡參考模型TCP/IP(Transmission Contro....
        的頭像 電子設計 發表于 06-11 16:35 ? 619次 閱讀
        基于Internet遠程測控的關鍵技術及應用分析

        多尺度卷積特征融合的SSD目標檢測

        提岀了一種改進的多尺度卷積特征目標檢測方法,用以提高SSD( single shot multibo....
        發表于 06-11 16:21 ? 8次 閱讀
        多尺度卷積特征融合的SSD目標檢測

        GridFTP協議的功能、特點及應用分析

        網格中已有許多大型的存儲系統。這些存儲系統往往側重于不同的需求,為客戶提供不同的服務:如高性能存儲系....
        的頭像 電子設計 發表于 06-11 15:38 ? 91次 閱讀
        GridFTP協議的功能、特點及應用分析

        基于P89LPC936微控制器和Q2406B模塊實現遠程IAP功能系統的設計

        針對地下水資源已經嚴重透支,水資源受到嚴重破壞的問題設計本系統,目的就是為了監控農用機井的用水情況。....
        的頭像 電子設計 發表于 06-11 15:29 ? 172次 閱讀
        基于P89LPC936微控制器和Q2406B模塊實現遠程IAP功能系統的設計

        麻省理工學院利用機器學習技術對激光雷達數據進行更好的實時處理

        眼前的問題:簡而言之,激光雷達功能強大,但數據處理速度慢。一款典型的激光雷達每秒可以產生數百萬個深度....
        的頭像 MEMS 發表于 06-11 09:34 ? 183次 閱讀
        麻省理工學院利用機器學習技術對激光雷達數據進行更好的實時處理

        FPGA上部署深度學習的算法模型的方法以及平臺

        今天給大家介紹一下FPGA上部署深度學習的算法模型的方法以及平臺。希望通過介紹,算法工程師在FPGA....
        的頭像 FPGA之家 發表于 06-10 17:32 ? 279次 閱讀
        FPGA上部署深度學習的算法模型的方法以及平臺

        基于深度學習的自動識別評價對象方法

        在線評論文本具有口語化的特點,其評價詞缺少對應的評價對象,影響了細粒度情感分析的效果。為此,提出一種....
        發表于 06-10 11:26 ? 12次 閱讀
        基于深度學習的自動識別評價對象方法

        科銳攜手高斯寶,為服務器電源市場帶來SiC解決方案

        得益于云、AI 人工智能、分布式存儲、5G等行業的快速發展,對于服務器電源和算力電源的需求大幅增長。
        發表于 06-10 11:07 ? 381次 閱讀
        科銳攜手高斯寶,為服務器電源市場帶來SiC解決方案

        全面解讀機器即服務的內容、主要優勢

        在本文中,我們將介紹機器即服務模型(MaaS)的基本內容。機器制造商和工廠所有者可以通過本文了解有關....
        的頭像 電子發燒友網工程師 發表于 06-09 16:02 ? 156次 閱讀
        全面解讀機器即服務的內容、主要優勢

        在目前深度學習中比較普及的“物件檢測”應用

        接下來的重點,就是在目前深度學習中比較普及的“物件檢測”應用,重點主要有以下三部分: 1. 簡單說明....
        的頭像 NVIDIA英偉達企業解決方案 發表于 06-09 15:46 ? 142次 閱讀
        在目前深度學習中比較普及的“物件檢測”應用

        基于深度學習的評論文本推薦方法

        傳統推薦系統依賴人工進行規則設計和特征提取,對評論文本內容的特征和隱信息的提取能力有限。針對該問題,....
        發表于 06-09 15:39 ? 7次 閱讀
        基于深度學習的評論文本推薦方法

        面向Web服務器的隨機種子調度算法

        調度是擬態構造Web服務器的重要機制,現有的調度算法多數缺乏對擬態構造Web服務器異構性和Web服務....
        發表于 06-09 14:23 ? 9次 閱讀
        面向Web服務器的隨機種子調度算法

        深度學習網絡的多分類器入侵檢測方法

        針對海量數據環境下,傳統智能化入侵檢測方法檢測性能較差的問題,提岀了一種深度信念網絡( deep b....
        發表于 06-09 11:19 ? 10次 閱讀
        深度學習網絡的多分類器入侵檢測方法

        生成式對抗網絡應用及研究綜述

        基于零和博弈思想的生成式對抗網絡(GAN)可通過無監督學習獲得數據的分布,并生成較逼真的數據。基于G....
        發表于 06-09 11:16 ? 9次 閱讀
        生成式對抗網絡應用及研究綜述

        DAQ970A/DAQ973A數據采集系統

        DAQ970A/DAQ973A數據采集系統介紹。
        發表于 06-09 11:01 ? 10次 閱讀
        DAQ970A/DAQ973A數據采集系統

        一種名為Chia(奇亞幣)的虛擬數字貨幣突然興起

        顯卡行業被“挖礦”攪得天翻地覆,沒想到硬盤都未能幸免。最近, 一種名為“Chia”(奇亞幣)的虛擬數....
        的頭像 SSDFans 發表于 06-09 09:12 ? 1731次 閱讀
        一種名為Chia(奇亞幣)的虛擬數字貨幣突然興起

        基于對等網絡P2P技術和CDN內容分發網絡實現多媒體監控系統的設計

          對等網絡P2P(Peer-to-peer)技術是目前國際計算機網絡技術領域研究的一個熱點。該技術....
        的頭像 電子設計 發表于 06-08 14:07 ? 226次 閱讀
        基于對等網絡P2P技術和CDN內容分發網絡實現多媒體監控系統的設計

        面向網絡安全博客的IOC自動抽取方法

        面向網絡安全博客的IOC自動抽取方法
        發表于 06-08 11:22 ? 21次 閱讀
        面向網絡安全博客的IOC自動抽取方法

        AI 缺陷檢測系統,確保果蔬質量

        研華的AIR-101 AI推理系統搭載Intel?Atom?x7-E3940 CPU四核處理器和兩個....
        發表于 06-08 11:10 ? 602次 閱讀
        AI 缺陷檢測系統,確保果蔬質量

        英飛凌全新ModusToolbox? ML助力TinyML,為AIoT保駕護航

        ModusToolbox ML允許開發人員使用他們首選的深度學習框架(如TensorFlow),直接....
        發表于 06-08 10:47 ? 435次 閱讀
        英飛凌全新ModusToolbox? ML助力TinyML,為AIoT保駕護航

        自編碼器神經網絡應用及實驗綜述

        自編碼器是深度學習中的一種非常重要的無監督學習方法,能夠從大量無標簽的數據中自動學習,得到蘊含在數據....
        發表于 06-07 16:38 ? 13次 閱讀
        自編碼器神經網絡應用及實驗綜述

        季節性時空數據預測模型在城市中的應用

        季節性時空數據預測模型在城市中的應用
        發表于 06-07 16:16 ? 28次 閱讀
        季節性時空數據預測模型在城市中的應用

        迅為IMX6ULL開發板搭建 Web 服務器

        本章節使用的資料已經放到了開發板網盤資料中,路徑為“11_Linux 系統開發進階\80_章節_搭建 Web服務器使用資料”。 在 iTO...
        發表于 06-07 15:00 ? 135次 閱讀
        迅為IMX6ULL開發板搭建 Web 服務器

        三維數據的問題何時才能解決呢?

        本文的作者是 Mihir Garimella 和 Prathik Naidu,他們是斯坦福大學計算機....
        的頭像 新機器視覺 發表于 06-07 14:42 ? 241次 閱讀
        三維數據的問題何時才能解決呢?

        基于Tacotron2和Transformer實現文字轉聲音的AI應用

        在項目網站上可以選擇模仿生成的角色,這些語音語料和模型優化,也都是由代碼貢獻者一起參與的。目前支持直....
        的頭像 機器人大講堂 發表于 06-07 10:55 ? 256次 閱讀
        基于Tacotron2和Transformer實現文字轉聲音的AI應用

        嵌入式在小型網絡視頻服務器中有什么應用?

        視頻監控系統的發展現狀及趨勢如何? 嵌入式在小型網絡視頻服務器服務器中有什么應用? ...
        發表于 06-07 07:16 ? 0次 閱讀
        嵌入式在小型網絡視頻服務器中有什么應用?

        如何設計一個基于TCP/IP協議的嵌入式網絡打印服務器?

        本文介紹了嵌入式網絡打印服務器的設計與實現,分析了其硬件結構和軟件設計方法。...
        發表于 06-07 06:53 ? 0次 閱讀
        如何設計一個基于TCP/IP協議的嵌入式網絡打印服務器?

        蟲情測報燈的特點及應用

        地球上的一切生物的繁衍、生長乃至死亡,都和氣候條件有密切的關系,當然蟲子也不例外。當一個地方的溫、濕....
        發表于 06-06 09:35 ? 64次 閱讀
        蟲情測報燈的特點及應用

        TD GUI-Engine嵌入式圖形引擎的性能及應用

        隨著物聯網、智能科技的發展,人機智能交互已深入到人們生活的各個方面,在生產制造、居家生活、出行娛樂等....
        發表于 06-06 09:30 ? 96次 閱讀
        TD GUI-Engine嵌入式圖形引擎的性能及應用

        為什么Kafka會怎么快 Kafka 的應用場景

        “Kafka 是由 LinkedIn 公司推出的一個高吞吐的分布式消息系統,通俗地說就是一個基于發布....
        的頭像 馬哥Linux運維 發表于 06-04 16:12 ? 127次 閱讀
        為什么Kafka會怎么快 Kafka 的應用場景

        tmux、GNU Screen、Konsole和Terminator看看哪個最適合你

        比較 tmux、GNU Screen、Konsole 和 Terminator,看看哪個最適合你。 ....
        的頭像 Linux愛好者 發表于 06-04 15:37 ? 136次 閱讀
        tmux、GNU Screen、Konsole和Terminator看看哪個最適合你

        多服務器模式下的屬性基多關鍵字排序檢索方案

        針對現有可搜索加密方案搜索行為不可控、搜索結果不可信以及搜索語義單一的問題,提岀一種多服務器模式下可....
        發表于 06-04 15:02 ? 14次 閱讀
        多服務器模式下的屬性基多關鍵字排序檢索方案

        探究對深度學習模型VAE的時序性解耦

        現代深度學習架構一直被描述為一個黑匣子:被輸入數據,并期望從中得到一些結果。然而,由于此類架構存在許....
        的頭像 電子發燒友網工程師 發表于 06-04 11:10 ? 120次 閱讀
        探究對深度學習模型VAE的時序性解耦

        什么是插頭電腦?它的性能如何?

        什么是插頭電腦?它的性能如何?用途何在?如何使用?...
        發表于 06-04 07:24 ? 0次 閱讀
        什么是插頭電腦?它的性能如何?

        labview調用深度學習tensorflow模型非常簡單,附上源碼和模型

        labview調用深度學習tensorflow模型非常簡單,效果如下, 附上源碼和訓練過的模型: [hide][/hide] ...
        發表于 06-03 16:38 ? 468次 閱讀
        labview調用深度學習tensorflow模型非常簡單,附上源碼和模型

        光場圖像基線編輯方法綜述

        圖像重定向是圖像編輯中的一個基本問題,主要硏究根據具體應用要求對圖像內容進行重構。當前針對光場圖像角....
        發表于 06-03 15:42 ? 11次 閱讀
        光場圖像基線編輯方法綜述

        基于深度學習的發動機零件檢測算法

        針對人工和傳統自動化算法檢測發動機零件表面缺陷中準確率和效率低下,無法滿足智能制造需求問題提岀了一種....
        發表于 06-03 14:51 ? 24次 閱讀
        基于深度學習的發動機零件檢測算法

        機器視覺中的圖像增廣技術綜述

        深度學習是目前機器視覺的前沿解決方案,而海量高質量的訓練數據集是深度學習解決機器視覺問題的基本保障。....
        發表于 06-03 14:14 ? 23次 閱讀
        機器視覺中的圖像增廣技術綜述

        基于雙向長短記憶網絡等的情感分類方法

        基于方面的情感分析已廣泛應用于文本信息挖掘,但在句子情感極性模糊或包含多個不同方面情感極性時難以準確....
        發表于 06-03 11:13 ? 12次 閱讀
        基于雙向長短記憶網絡等的情感分類方法

        融合深度學習和極限學習機的入侵檢測

        傳統機器學習算法需要人工構建樣本特征,處理海量多源異構網絡亼侵數據時分類效果較差。針對該問題,結合深....
        發表于 06-03 10:48 ? 10次 閱讀
        融合深度學習和極限學習機的入侵檢測

        基于深度學習的遙感影像典型要素提取方法

        為提取髙分辨率遙感影像的典型要素(建筑物及道路),基于深度學習,提出一種語義分割與全連接條件隨機場(....
        發表于 06-03 10:29 ? 8次 閱讀
        基于深度學習的遙感影像典型要素提取方法

        請問怎樣去設計一種嵌入式Web服務器?

        本文介紹一種基于W3150A+的嵌入式Web服務器設計。...
        發表于 06-03 06:18 ? 0次 閱讀
        請問怎樣去設計一種嵌入式Web服務器?

        請問怎樣去設計一種視頻監控服務器?

        本文介紹了一種基于最新Davinci平臺的視頻監控服務器的設計與實現,包括硬件組成和軟件設計。...
        發表于 06-03 06:03 ? 0次 閱讀
        請問怎樣去設計一種視頻監控服務器?

        NVIDIA合作伙伴發布采用NVIDIA BlueField DPU的新款服務器

        NVIDIA BlueField DPU將基礎設施任務從CPU轉移至DPU,使更多的服務器CPU核可....
        發表于 06-02 17:01 ? 972次 閱讀
        NVIDIA合作伙伴發布采用NVIDIA BlueField DPU的新款服務器

        NVIDIA AI Enterprise軟件助推全球領先制造商紛紛發布新認證系統

        NVIDIA認證系統計劃進一步擴展,現已包含50多種面向企業數據中心的NVIDIA認證系統。
        發表于 06-02 16:55 ? 1067次 閱讀
        NVIDIA AI Enterprise軟件助推全球領先制造商紛紛發布新認證系統

        NVIDIA在COMPUTEX 2021上發布多款游戲和企業級創新產品

        NVIDIA GeForce高級副總裁Fisher宣布推出兩款性能強大的全新游戲GPU——GeFor....
        的頭像 西西 發表于 06-02 16:49 ? 425次 閱讀
        NVIDIA在COMPUTEX 2021上發布多款游戲和企業級創新產品

        大聯大友尚集團推出基于Intel產品的3D物體夾取系統解決方案

        大聯大控股宣布,其旗下友尚推出基于英特爾(Intel)OpenVino與Realsense Came....
        的頭像 西西 發表于 06-02 14:07 ? 899次 閱讀
        大聯大友尚集團推出基于Intel產品的3D物體夾取系統解決方案

        請問怎樣去設計一種嵌入式Web服務器系統?

        嵌入式Web服務器系統的工作原理是什么? 怎樣去設計嵌入式Web服務器系統的硬件? 怎樣去設計嵌入式Web服務器系統的軟件?...
        發表于 06-02 07:11 ? 0次 閱讀
        請問怎樣去設計一種嵌入式Web服務器系統?

        基于日志信息和CNN-text的軟件系統異常檢測

        基于日志信息和CNN-text的軟件系統異常檢測
        發表于 06-01 15:48 ? 14次 閱讀
        基于日志信息和CNN-text的軟件系統異常檢測

        分享一種云端虛擬轉碼的解決方案

        本文介紹了加速視頻云需求背后的市場驅動力,并討論了OpenStack等技術和其它開源平臺在轉向SDN/NFV網絡架構背景下的含義...
        發表于 06-01 06:31 ? 0次 閱讀
        分享一種云端虛擬轉碼的解決方案

        歡迎資深Labview視覺工程師龍哥,入駐電子發燒友社區

        很高興邀請到資深Labview視覺工程師龍哥入駐到社區,后期會在論壇有更多內容及精彩活動分享,請大家敬請期待~ 專家簡介: 龍...
        發表于 05-31 15:00 ? 1569次 閱讀
        歡迎資深Labview視覺工程師龍哥,入駐電子發燒友社區
        全国最大色的电影网站_亚洲操日日在线视频_大香蕉在线影院伊人75_影音先锋色导航综合
        成人色资源站_狠狠热在线视频免费_男人的天堂东京热_伊人在线综合网_4438x亚洲视频_亚洲日韩国产有码 日本aV加勒比先锋在线_亚洲欧美日韩一区_日本一本道a不卡免费_久久婷婷五月综合色啪 aV亚洲天堂aVtt94t_动漫亚洲免费视频_亚洲欧美国产综合_日本黄片在线播放_中文字幕免费视频不卡 影集先锋aV资源_大香蕉网狠狠_a级高清免费毛片aV无码_亚洲精品高清视频在线观看_神马电影_超碰97火爆 影音先锋aV亚洲图片_天天啪天天射天天日_国产视频亚洲精品视频_欧美五月婷婷开心中文字幕 奇米影视盒官方下载_奇米影视播放器下载_777奇米影视图片_人人摸人人操人人干 音影先锋aV资源电影网_在线播放免费成人视频国产入_久久热在线视频这里只有精品_国产精品在线手机视频 网站你懂得老司机2021_老司机导航 原avsoso_老司机求2021手机网站_老司机精品视频 网站你懂得老司机2021_老司机导航 原avsoso_老司机求2021手机网站_老司机精品视频 日夜撸网站_久久成人视频免费在线H电影_一本道aV不卡免费播放_亚洲人成电影网站免费 色天使成人_九九99热久久精品在线6_激情黄色成人淫色色情网_亚洲aV视屏_好曰L视频妞精品视频视频 在线成人aⅴ影院_撸在线视频播放_亚洲综合大香蕉_色狼综合网_人人碰摸免费视频公开 成年轻人电影免费_天天操夜夜撸_亚伊人香蕉网_涩综合色久久_日日碰人人看人人摸_色爱综合网中文 全国最大成人三级_曰日橹夜夜操_大香蕉之伊人在线视频_成人导航成人导航_人人看人人摸人人色 色琪琪官网原在线视频_HEZYO高清一本道综合_国产成人综合亚洲_中文字幕在线视频_偷拍久久国产视频 老司机电影网站永久免费视频_gif老司机出处抽搐_老司机视频精品_韩国伦理电影成人电影 亚洲码无区电影网站_大香蕉伊人_亚洲在线观看视频国产_超碰caoporen97人人_青青青草国产费观看 东方在线aⅴ免费_bt种子你懂的下载_久久re这里有精品_aⅴ好四色导航进入_起碰新免费视频公开 音影先锋aV资源电影网_在线播放免费成人视频国产入_久久热在线视频这里只有精品_国产精品在线手机视频 狠狠橹影音先锋影院_国产综合亚洲区_天天色情_大香蕉久久网_2021国产天天弄 福利一千合集_免费观看_夜夜噜2021最新免费_香港经典三级电影_俺去也狠狠操 琪琪布电影网2021_日本一本道高清aV_美女视频诱惑_手机在线看aV_67194不卡中文字幕_青青草免费线看人 影音先锋aV天堂2021_思思99热久久精品在线6_一本道久在道最新2021_日本毛片高清免费视频 奇米影视盒v1.1下载_奇米影视第四色_奇米影视盒官方_陌陌97人人操视频_欧美aV在线视频集合 狼人综合一人伊人_每日更新在线观看aV_任你干在线视频_色姐妹久久综合在线aV_伊人大香蕉在线精品 音影先锋aV最全_www第四色com_欧美成人在线播放_国产aV视频视频在线_神马影院手机电影 在线成人导航视频大全_日操夜操天天操_伊人在线观看网大香蕉_水中色的最新地址 影音先锋色系资源站_2499影视手机看片_久草福利最稳定的资源_欧美日韩在线无码_都市激情偷偷鲁网 影音先锋资源日本aV66_一本道aV免费高清无码_开心色综合伊人_久久色悠悠综合网 久草成人在线_亚洲成片在线_免费无码aV中文字幕在线播放观看_免费视频在线观看_在线观看中大香蕉 影视先锋资源男人站_久久热久久高清视频_偷偷撸久久爱在线播放视频_97资源站九七电影院 老司机资源在线观看_求网址资源老司机2021_老司机珍品gif番号_嘿嘿嘿老司机视频在线 4388x2全国最大网站_天天操夜夜操日日操_大香蕉伊人9在线影院_色综合资源导航_韩国三级电影网站 影音先锋aV站资源_亚洲aV毛片免费在线观看_欧美日韩在线无码_免费网站在线看aV片_俺也去俺也色 琪琪热热色原无码色原_99视频精品东_久久国产自偷拍_色欲影视_凸凹视频分类在线手机看片 影音先锋资源网站你懂的_欧美色情在线_2021国产天天弄_色久久综合网_日本毛片高清免费视频 音影先锋aV无码_欧美图片区色欲影视_99久久免费热在线精品_欧美日韩一本到免费视频线观看_天天aV天天翘 全国最大成人三级_曰日橹夜夜操_大香蕉之伊人在线视频_成人导航成人导航_人人看人人摸人人色 琪琪热热色原无码色原_99视频精品东_久久国产自偷拍_色欲影视_凸凹视频分类在线手机看片 老司机福利在线影院_老司机午夜影院试看区_老司机影院视频app_每日更新在线观看aV 影音先锋色影网_伦理在线电影免费观看_天天撸日日夜夜撸_日本无码高清中文字幕视频_第四色空 久草手机在线_人人天天夜夜日日狠狠_色久久综合桃花网_国产亚洲熟妇_伊人网天天插 先锋无码资源男人站_免费成年人影片_偷拍久久国产视频_97电影网天天色_免费可以看污的视频 男人站先锋影在线播放_免费在线观看一级_曰本高清一本道无码aV_伊人综合在合线9_开心五月婷婷 东方成人在线_免费视频色情网aⅴ_热久久最新获取地址1_超碰男人免费视频_97色资源人人摸 先锋资源下载网站_日本最新免费一区_不卡aV电影在线_韩国三级片_aV国产不卡的在线视频 琪琪免费在线观看_伊人影院蕉久影院在线_欧美色情在线_中文字幕在线播放_这里有你想看的极品aV视频 久草在线视频观看_天天日免费观看视频一1_思思99热久久精品在线6_色久久综合网_日本aV电影 久久影音先锋亚洲天堂_超碰久久人人摸人人搞_九九99热久久精品在线6_日本高清视频影片www 成人色资源站_狠狠热在线视频免费_男人的天堂东京热_伊人在线综合网_4438x亚洲视频_亚洲日韩国产有码 婷婷中文字幕网站_天天操夜夜操视频_伊人在线视频大香蕉_水中色大型成人_人人碰人人摸 狠狠狠狠狠2021新版_2021国产成人综合_成人网站免费观看_日本特别黄的免费大片视频 香港经典三级在线_天天擼一擼视频_撸狠狠在线影院_偷拍女性阴部图_99资源站 92看看福利午夜影院_日日夜夜鲁媽媽鲁在线_撸啊撸日日夜夜影音_偷拍美女私处 免费成视频人免费91在线观看_日日噜夜夜噜_日一日撸一撸_哥哥色哥哥射哥哥撸 色色琪琪电影免费_啪啪免费观看大全aV片_aV天堂在线aV亚洲aV_日日啪日韩在线_欧洲日韩aV无线在码 91日日夜夜橹在线视频_韩国伦理电影_一个色综合亚洲色综合_久久人人97超碰_天天干天天射夜夜啪天天 老司机资源在线观看_求网址资源老司机2021_老司机珍品gif番号_嘿嘿嘿老司机视频在线 未成年少女aⅴ免费观看_狠狠she日日啪2021_大香蕉在线视频免费_在线aⅴ影院青青草视频 音影先锋强aV资源_人人干人人摸_久草在线手机在线观看_一本道在线大香蕉无码_韩国伦理电影免费手机 欧美aⅴ在线福利午夜_天天操电影_伊人在线综合网_水中色大型综合站小说_快播电影anquye 久草在线视频观看_天天日免费观看视频一1_思思99热久久精品在线6_色久久综合网_日本aV电影 成年片黄网站色三级_狠狠操狠狠搞_大香蕉伊人在线视频_好姐妹拍偷拍综合_人人摸人人日 香港经典三级在线_天天擼一擼视频_撸狠狠在线影院_偷拍女性阴部图_99资源站 音影先锋aV资源网_人人碰免费视频_2021天天拍天天拍香蕉视频_日本高清无码aV专区_色情网站香港经典三级 成年轻人电影免费_天天操夜夜撸_亚伊人香蕉网_涩综合色久久_日日碰人人看人人摸_色爱综合网中文 狼人综合一人伊人_每日更新在线观看aV_任你干在线视频_色姐妹久久综合在线aV_伊人大香蕉在线精品 2021男人天堂手机在线_伊人综合在线影院_国产亚洲精彩视频在线观看视频_人人超人人超碰超国产 成年轻人电影免费_天天操夜夜撸_亚伊人香蕉网_涩综合色久久_日日碰人人看人人摸_色爱综合网中文 aV中文字幕先锋音影_思思99热久久精品在线6_aV在线视频成人社区_天天狠天天透_手机在线aV播放 手机aVttl天堂网2021_免费黄色电影_HEZYO高清一本道综合_久久色久久综合_成人a片毛片免费观看 2021年最新先锋aV资源_新超碰97在线观人人澡_久久爱免费频在线看3_2021高清一本道国产_a片在线看片 老司机的爱情故事_老司机最新福利更新_老司机电影院午夜看片_日本视频网站www色_免费韩国成人影片 先锋影亚洲男人高清_在线aV成人视频在线观看_超碰久草久久热视频_日本毛片高清免费视频 音影先锋强aV资源_人人干人人摸_久草在线手机在线观看_一本道在线大香蕉无码_韩国伦理电影免费手机 91碰免费视频公开_夜夜橹_伊人久久大香蕉网_哥哥去在线免费观看_蝌蚪窝破解高清视频 影音先锋aVtt9天堂网_免费v片在线观看网站_每日更新在线观看aV_久久婷婷五月综合色啪 东方成人自拍_免费老黄视频网址_久久热视频在线播放_超碰网站多少_坏哥哥妹妹综合网 全国色情最大网站_日日夜夜视频免费观看_伊人大香蕉在线影院aⅴ_一个导航色站大全 老司机午夜影院味味_老司机在线精品ae86_老司机导航原avsoso_国内2021自拍视频在线 aV亚洲天堂aVtt94t_动漫亚洲免费视频_亚洲欧美国产综合_日本黄片在线播放_中文字幕免费视频不卡 美女视频福利免费观看_日日夜夜鲁图片_aⅴ情电影免费在线观看_亚洲性哥哥去 aⅴ青青草免费视频在线_天天日天天穞天天射_大香网-伊人在线一_哥哥妹妹射综合网 五月色亞洲影音先鋒_aV小说aV片国产aV_日本一本道a不卡免费_久黄网址在线播放_好L淫社区 琪琪电影网在线观看_DVD在线播放aV视频_亚洲天堂2021无码aV_日本一在线中文字幕_haodiaose色哥哥 新影音先锋男资aV站_五月婷婷开心中文字幕_青青在线是免费视频观看_日本阿v网站在线观看 最新影音先锋琪琪色_aV天堂亚洲aV_中文字幕免费视频不卡_久久爱免费观看频在线看_好L淫电影 欧美午夜福利在线视频_天天碰天天操天天模_大香蕉伊人在线75免费_色尼姑aⅴ色和尚影院 琪琪色影院影音先锋_免费无码中文字幕专区_不卡的在线aV网站_一本到在线视频免费不卡观看 色琪琪官网原20岁在线_一级特黄大片_一本道亚洲区免费观看_亚洲aV天堂最新地址_青青视频在线新免费观看 琪琪热热热色原网站cao_大香蕉视频青青草_aV欧美国产在线_亚洲图片区_思思99热久久精品在线6 久久aV资源影音先锋_五月丁香俺也去网_老鸭窝视频_超碰人人网a在线_爱色阁_人人天天夜夜日日狠狠 老司机福利视频一区在线播放_老司机黄播盒子_老司机影院lxy01_在线aV成人视频大全 久草手机在线_人人天天夜夜日日狠狠_色久久综合桃花网_国产亚洲熟妇_伊人网天天插 久草影院_一级a做爰视频免费观看_青青青免费视频在线_大量偷拍情侣在线视频_国内偷拍在线精品 影音先锋aV天堂网2021_亚洲aV国产aV手机在线_日本高清免费一本视频_婷婷五月色综色情网 群交在线播放_无码在线国际影院_第八色久久色_成人国产综合论坛_senima色你妈senima 久草视频青草在线_五月丁香花开网_免费在线观看一级a做爰片_香港经典三级_大香蕉视频_恨恨橹2021 影音先锋男人aV资源站_日本一级特黄大片_不卡aV福利影院_久久精品一本到99热_久久日本道色综合久久 色琪琪色网站_天堂aV欧美aV高清无码不卡在线_亚洲做性视频在线观看_久久爱视频_2021最新在线 亚洲观看天堂aV2021_久久人人97超碰_亚洲中文无码永久免费_噜噜在线a观看_老司机在线视频免费观看 在线中文音影先锋_一级黄色录像影片_免费一本道性无码在线_伊人综合在合线_开心丁香婷婷深爱五月 92看看福利午夜影院_日日夜夜鲁媽媽鲁在线_撸啊撸日日夜夜影音_偷拍美女私处 亚洲日本人视频页码11_天天夜日日在线观看_天天操色综合_日本熟妇色在线视频_天天色情天天插天天狠 色琪琪官网原在线视频_HEZYO高清一本道综合_国产成人综合亚洲_中文字幕在线视频_偷拍久久国产视频 琪琪网色原网站_一本道不卡中中文无码_91国产精品视频_久久爱免费视频在线观看_偷拍视频2021国产 狠狠橹影音先锋影院_国产综合亚洲区_天天色情_大香蕉久久网_2021国产天天弄 影音先锋aV天堂网2021_亚洲aV国产aV手机在线_日本高清免费一本视频_婷婷五月色综色情网 在线视频青青草视频_80电影天堂网_超碰国产亚洲人人_成aV人电影在线观看_大香蕉网伦理片 7xfay先锋资源_人人操人人碰_夭天啪天天谢干_亚洲一本道最新_456亚洲人成成人电影_国产亚洲精品 福利一千合集_免费观看_夜夜噜2021最新免费_香港经典三级电影_俺去也狠狠操 91助手在线下载_撸阿撸男人网站_伊人大香蕉在线观看_哥哥在线视频_人人草视频在线观看 成年在线国产自拍视频_天天夜夜日日高清在线_大香蕉中文在线电影_97aⅴ超碰手机在线视频 东方成人在线_免费视频色情网aⅴ_热久久最新获取地址1_超碰男人免费视频_97色资源人人摸 老司机嘿嘿在线视频_老司机精品视频lsj95_老司机百度云盘av资源_色妹子色姐妹 色琪琪aV官网原在线_色情片免费的_aV在线aV电影aV视频_99久久爱免费视频视频_日本一本道a不卡免费 狠狠狠狠狠2021新版_2021国产成人综合_成人网站免费观看_日本特别黄的免费大片视频 手机版aV亚洲天堂2021_yy黄色频道_一本道道中文无码无卡_色久久_欧美图片欧美aV_岛国无码aV免费观看 撸啊撸日日夜夜在线_亚洲情色亚洲aV_免费的三级黄网站_天天色情天天aV_天天干天天射夜夜啪2021 男人站先锋影在线播放_免费在线观看一级_曰本高清一本道无码aV_伊人综合在合线9_开心五月婷婷 久草影院_一级a做爰视频免费观看_青青青免费视频在线_大量偷拍情侣在线视频_国内偷拍在线精品 东方在线aⅴ免费_bt种子你懂的下载_久久re这里有精品_aⅴ好四色导航进入_起碰新免费视频公开 影音先锋aV资源男人站_狠狠干久久草一级a做爰片_不卡aV电影在线_超碰国产亚洲人人 亚洲免费视频在线观看_天天射寡妇射_亚洲伊人在线综合影院_色帝国色哥哥_成人免费看视频 先锋资源资源aV_日本毛片免费视频观看_久久爱久久国产视频_日韩aV无码在线直播_天天色综合网 亚洲姐妹综合久久图片_日本高清免费一本视频_一级a做爰全过程片_日本无码不卡高清免费v 手机aVttl天堂网2021_免费黄色电影_HEZYO高清一本道综合_久久色久久综合_成人a片毛片免费观看 东方伊甸园aⅴ在线_一级毛卡片不收费的_99re视频这里只有精品_好了aⅴ第四色016 欧美未成年少女网站aⅴ_噜啊噜在线观看免费_香蕉网伊人在线视频_91免费国产在线视频 福利网站你懂的在线_夜夜噜2021最新网站_舒淇三级电影_哥哥坏aⅴ男人的天堂 2021男人天堂手机在线_伊人综合在线影院_国产亚洲精彩视频在线观看视频_人人超人人超碰超国产 影响先锋资源站男人网_久久日本精品在线热_2021一本道中文无码字慕_男人的天堂东京热 老司机午夜影院味味_老司机在线精品ae86_老司机导航原avsoso_国内2021自拍视频在线 影音先锋资源日本aV66_一本道aV免费高清无码_开心色综合伊人_久久色悠悠综合网 色无极最新型亚洲影院_aV在线aV女优_中国大陆高清aⅴ毛片_久久爱aV高清_好L淫视频 全国色情最大网站_日日夜夜视频免费观看_伊人大香蕉在线影院aⅴ_一个导航色站大全 未成年少女aⅴ免费观看_狠狠she日日啪2021_大香蕉在线视频免费_在线aⅴ影院青青草视频 色尼姑新官方网址_黄色快播电影伦理电影_在线看片aV免费观看_激情小说亚洲aV_最新亚洲aV在线色情视频 影音先锋aV亚洲图片_天天啪天天射天天日_国产视频亚洲精品视频_欧美五月婷婷开心中文字幕 影音先锋aV2021资源_天天日日狠狠2021_免费看黄色电影天堂_一本道免费手机_经典aV三级在线 色色姐妹在线aV_日本韩国台湾香港三级_一本道aV不卡免费播放_xoxo日本影院_成人a片性交姿势 亚洲姐妹综合久久图片_日本高清免费一本视频_一级a做爰全过程片_日本无码不卡高清免费v 在线视频福利_www夜夜撸2021_韩国三级电影在线观看_亚洲姐姐哥哥去_人人碰人人摸 琪琪电影网在线观看_DVD在线播放aV视频_亚洲天堂2021无码aV_日本一在线中文字幕_haodiaose色哥哥 亚洲免费视频在线观看_天天射寡妇射_亚洲伊人在线综合影院_色帝国色哥哥_成人免费看视频 九草在线资源站_好吊日aV在线视频_她也啪tayese在线观看_国产熟妇露脸在线观看 日本毛片高清免费视频_一级特黄高清大片中国_gaV成年网站不用播放器_国内精品2021视频在线 全国最大成人三级_曰日橹夜夜操_大香蕉之伊人在线视频_成人导航成人导航_人人看人人摸人人色 奇米影视盒v1.1下载_奇米影视第四色_奇米影视盒官方_陌陌97人人操视频_欧美aV在线视频集合 国产老司机福利视频网_老司机在线福利亚洲_老司机在线ae85_思思99热久久精品在线6 2021久久播_2021久久播视频_2021久久播在线av_2021久久播在线精品_超碰在线视频 琪琪热色原在线网站_A级毛片免费观看_四色777狠狠_撸狠狠免费在线影_成人免费观看视频 日本毛片高清免费视频_一级特黄高清大片中国_gaV成年网站不用播放器_国内精品2021视频在线 先锋影音资源网站5qlu_日本无码不卡中文免费_久久偷拍国产在线视频_免费韩国成人影片 性交群交视频_无码手机视频_欧美在线视频黑吊_成人色综合_senima亚洲综合美女图 影音先锋资源网站你懂得_一本道久久综合久久_亚洲成在人线免费视频_阿v片视频 成人色资源站_狠狠热在线视频免费_男人的天堂东京热_伊人在线综合网_4438x亚洲视频_亚洲日韩国产有码 狠狠爱偷偷撸2021_得得的爱免费视频观看_青青青国产在线观看手机免费_一本道在线综合久合合 群交在线播放_无码在线国际影院_第八色久久色_成人国产综合论坛_senima色你妈senima aV中文字幕系列1_超碰caoporen97人人_aV在线视频成人社区_久久人人香蕉_久草在线新免费 先锋影亚洲男人高清_在线aV成人视频在线观看_超碰久草久久热视频_日本毛片高清免费视频 欧美午夜伦理琪琪影院_日本毛片基地一亚洲aV_日本视频高清免费观看_日本一级特黄大片免色 影音先锋aV天堂2021_日本一级特黄大片_色姑娘综合网久久_开心五月天_一本道高清幕免费视频 音影先锋aV资源电影网_在线播放免费成人视频国产入_久久热在线视频这里只有精品_国产精品在线手机视频 婷婷荿人在线视频网站_无码神播在线直播_久久射悠悠_成人国产综合_日尼玛亚洲综合图片 先锋音影中文资源2021_淫香淫色_久久99re热_成人电影无码aV高清毛片_天天色综合_人人操在线公开视频 色先锋影院_久久日日费线看线看_2021一级a爱大片免费_aV在线视频成人社区_青青青免费视频在线— 影音先锋aV天堂网2021_亚洲aV国产aV手机在线_日本高清免费一本视频_婷婷五月色综色情网 影音先锋资源网男人站_免费一级特黄大片_每日更新在线观看aV_久久爱免费频在线看39 免费成视频人免费91在线观看_日日噜夜夜噜_日一日撸一撸_哥哥色哥哥射哥哥撸 琪琪色影院影音先锋_免费无码中文字幕专区_不卡的在线aV网站_一本到在线视频免费不卡观看 亚洲码无区电影网站_大香蕉伊人_亚洲在线观看视频国产_超碰caoporen97人人_青青青草国产费观看 老司机的爱情故事_老司机