【汇总记忆:命令、语法、函数、等】
目錄
?Linux常用操作
Python語法
numpy&scipy語法
Python常用 函數 和 操作
?Linux常用操作
- 查看硬件信息:
- 磁盤空間:df -h
- 顯卡型號和個數(沒裝驅動時):lspci |grep -i nvidia
- 顯卡使用情況:
- nvidia-smi
- 每0.1秒刷新一次顯卡利用率:watch -n?0.1?-d?nvidia-smi
- CPU型號和核心數:lscpu
- 內存大小:free
- 操作系統版本:head -n 1 /etc/issue
- 遠程ssh連接Linux服務器命令:ssh 服務器用戶名@服務器IP(執行后再鍵入服務器密碼即可)
- 多重視窗管理screen命令:一般ssh服務器并通過終端運行訓練代碼時,如果想關閉ssh連接后下次還能找回上次啟動的服務器終端及其終端中顯示的內容,就可以使用screen功能。
- 創建screen終端的命令:screen -S yourname
- 下次恢復screen終端的命令:screen -r yourname
- 查看服務器中當前已經新建的screen:screen -ls
- 查找文件:sudo?find / -name +文件名(在本地全部路徑查找)
- 刪除操作:
- 刪除一個非空文件夾:sudo rm -r 目錄名
- 刪除一個文件:sudo rm 文件名
- 刪除當前路徑下,所有文件和子文件(不建議用此命令,不建議使用rm,用mv操作更安全):sudo rm -rf ./*(千萬別忘記要加個'.',不然把整個服務器內容給刪了。)
- 轉移文件夾或文件:(移動用mv,復制用cp)
- sudo cp 路徑/文件名? 目的地路徑
- sudo cp??-r? 路徑/文件名? 目的地路徑
- 移動當前文件內前N個文件到另一個目錄內:sudo?mv?`ls?|?head?-N` XXX另一個目錄(備注:` 和 ' 是不同的東西!)
- 本機向服務器傳輸文件:
- scp 文件名 username@XXX.XXX.XXX.XXX:/data/ym_data/
- 文件夾權限:sudo chmod 777? ××× (每個人都有讀和寫以及執行的權限)
- 查看后臺當前運行的python腳本名稱:ps -ef | grep python
- 查看日志文件常用方法:
- 實時刷新日志文件形式查看:tail -f XXX
- 查看日志文件的最后500行:tail -n 500 XXX
- 解壓縮
- 壓縮
- 把當前路徑內所有文件壓縮:tar cvzf my.tar ./*
- 壓縮一個或多個文件:tar cvzf my.tar file1 file2 file3
- 解壓
- 解壓一個tar文件到當前文件夾:sudo tar -xvf xxx.tar
- rar文件解壓:這樣的后綴是在win系統壓縮的,Ubuntu系統默認沒有,需要安裝rar解壓軟件:sudo apt-get install rar。
- sudo unrar x XXX.rar 解壓到一個文件夾
- sudo unrar e XXX.rar 解壓到當前路徑下
- 壓縮
-
查看當前目錄下文件大小
-
du -sh *
-
Python語法
- 類中的def __call__()函數:它可以使得以“對象名()”的形式使用類,并執行def __call__()函數里面的內容并返回結果。Python __call__()方法(詳解版)
-
sys.path.append(XXX):導入XXX臨時路徑,使得該Python腳本執行時,能夠在此路徑下去檢索腳本中引用的文件夾。
-
import sys sys.path.append('/home/ym/xidiji/nanodet-main') # 絕對路徑
-
-
map(function,iterable):根據提供的函數對指定的序列做映射(就是對iterable中每一個元素,單獨執行function操作,得到一個新的iterable)
-
map(function,iterable,...) (1)參數 function是一個函數名稱,通過該函數對后續參數iterable進行處理 iterable是一個可迭代對象,比如:字符串、列表、字典、元組、集合等 (2)返回值 map函數通過將指定的function函數依次作用在給定序列iterable中的每一個元素上,得到一個新的list并返回。注意,map不改變原list,而是返回一個新list。
-
- Q
numpy&scipy語法
重要備注:在numpy中,用2維矩陣而不是1維矩陣來表示行向量和列向量。如列向量np.array( [[1], [2], [3]] ),行向量np.array( [ [1,?2, 3] ] )。而np.array( [1, 2, 3] )這種形式的矩陣嚴格意義上既不是行向量也不是列向量。但在某些numpy函數中,會將np.array( [1, 2, 3] )默認為一個列向量(注意不是不是直覺認為的行向量)。
- python中的“*”,“np.dot()” 和 “@” 的區別:假設AB都是2維數組
-
np.dot(A, B) : 就是矩陣乘法
-
A * B:這個很雜亂,不管A和B形態怎么樣,A*B都會有個結果。。。只說兩種情況①如果AB行列完全一致,則相當于相應位置的元素做個乘法。②如果A僅只有一個元素,如[ [ 5?] ],相當于B數組每個元素乘以5。
-
- np.eye(N, M):返回的是一個二維2的數組(N,M),對角線的地方為1,其余的地方為0。
-
np.diag(X):生成或提取X的對角線部分(diagonal)
-
X是一個1維數組時,結果形成一個以一維數組為對角線元素的矩陣。
-
X是一個二維矩陣時,結果輸出矩陣的對角線元素。
-
??????
-
- np.square(array):array內各元素值做個平方(不改變array維度)。
-
矩陣拼接:
-
np.c_(array1, array2):(column列方向)左右拼接兩個矩陣(要求兩個矩陣 行 數相等)。
- np.r_(array1, array2):(row行方向)上下拼接兩個矩陣(要求兩個矩陣 列 數相等)。
-
- np.linalg.multi_dot(array1, array2 , , ,?) :矩陣乘法。
-
scipy.linalg.solve_triangular(a, b):已知a(必須是三角矩陣)和b,求解方程a?x?=?b中的x。
-
驗證返回的結果是否正確的方法:看看 a.dot(x) 是否等于b。
-
- T
Python常用 函數 和 操作
-
遍歷文件夾內所有子文件夾及其內容
-
import os# 遍歷文件夾 def walkFile(file):for root, dirs, files in os.walk(file):# root 表示當前正在訪問的文件夾路徑# dirs 表示該文件夾下的子目錄名list# files 表示該文件夾下的文件list# 遍歷所有的子文件夾for d in dirs:print(os.path.join(root, d))# 遍歷每個子文件夾內文件for f in files:print(os.path.join(root, f)) #在win系統里,這里的路徑結果同時包含‘/’和‘\’,需要replace把‘\’全部替換成‘/’walkFile("E:/project_jy/data/training_top3")
-
- 遍歷某文件夾內所有子文件名稱
-
import osfile_NameLists = os.listdir(file_dir) # file_dir:某文件夾路徑if len(file_NameLists) != 0:for file_name in file_NameLists:print(file_name)
-
- 讀取和寫入txt文件
- 一行行讀取
-
with open("test.txt", "r") as f:data = f.readline()print(data)
-
- 所有內容放到列表中
-
with open("test.txt", "r") as f:data = f.readlines()print(data)#備注:readlines會讀到換行符,可用如下方法去除: with open("test.txt", "r") as f:for line in f.readlines():line = line.strip('\n') #去掉列表中每一個元素的換行符print(line)
-
- 寫入txt
-
with open("test.txt","w") as f:f.write("這是個測試!") # 自帶文件關閉功能,不需要再寫f.close()讀寫模式
要了解文件讀寫模式,需要了解幾種模式的區別,以及對應指針
r :? ?讀取文件,若文件不存在則會報錯
w:? ?寫入文件,若文件不存在則會先創建再寫入,會覆蓋原文件
a :? ?寫入文件,若文件不存在則會先創建再寫入,但不會覆蓋原文件,而是追加在文件末尾
rb,wb:? 分別于r,w類似,但是用于讀寫二進制文件
r+ :? ?可讀、可寫,文件不存在也會報錯,寫操作時會覆蓋
w+ :? ?可讀,可寫,文件不存在先創建,會覆蓋
a+ :? 可讀、可寫,文件不存在先創建,不會覆蓋,追加在末尾
-
- 一行行讀取
- 3
- 3
- 3
- 3
- 3
- 3
通用性問題:
- ssh配置免密登錄失敗問題(見第4項:設置StrictModes no)???????https://jingyan.baidu.com/article/454316ab3176d8f7a7c03ab9.html
-
Ubuntu16.04系統無法上網問題解決?Ubuntu16.04系統無法上網問題解決 - 知乎
總結
以上是生活随笔為你收集整理的【汇总记忆:命令、语法、函数、等】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ViT(vision transform
- 下一篇: VS上配置opencv249所添加的附加