原创 目標檢測map理解

1. MAP的物理意義 平均精度的意義是將各個召回率下準確率取平均,這個平均準確率可以衡量目標檢測模型的性能,卻不能直觀地知道實際測試時特定置信度下準確率和召回率。只考慮大於特定置信度閾值下的正檢和錯檢,可得到相應的準確率和召回率 2.

原创 C++求組合數代碼

long long C(int N, int M) { long long sum = 1; for(int i=1;i<=M; i++) { sum=sum*(N-M+i)/i; // sum *= (N-M+

原创 快排的穩定性思考

快速排序是一種in-place算法,主要有兩步,三數中值排序和pivot插入。其寫法比較經典,所以最好理解之後背下來 三數中值排序相對簡單,要注意三個數比較的順序 void median(vector<int>& nums, i

原创 C++11多線程異步操作std::future

本博客參考自https://thispointer.com/c11-tutorial/ C++多線程的在某些場景需要實現異步操作,由std::futer 和std::asych, std::packaged_task, std::prom

原创 C++ vector按照位置刪除元素、插入元素

刪除一個元素 std::vector<int> vec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); // Deletes the second element

原创 python PIL圖片拼接

w_num = 5 h_num = int(len(imgs)/w_num) + 1 UNIT_SIZE = 200 # 一張圖的大小是200*200 target_sha

原创 301. Remove Invalid Parentheses(深度優先搜索)

https://leetcode.com/problems/remove-invalid-parentheses/ 1. 思路 用深度優先搜索的思路,遍歷這個字符串,當出現“)”的個數多於“(”的個數時,開始刪除之前遇到的“)”使之平衡

原创 pytorch實現upsample

這裏實現的是一個比較偏的upsample,是朋友問我的,順手記錄下來。 實現的效果如下: 輸入: 輸出: 實現的是按相同值內插。實現方法是meshgrid,這個函數很好用,可以在輸入x座標和y座標的情況下,返回由其組成的所有可能座標組合。

原创 分享一個二分查找算法的trick

這裏分享一個二分查找算法的trick,我們知道二分查找是對一個已經排序對數組進行二分搜索,初始化一個left和right,left和right表示上界和下界。在每次循環中求mid,並不斷更新left或right,直到找到最終的mid 但是

原创 347. Top K Frequent Elements題解

1. 思路 難點在於把時間複雜度降低到O(nlogn),考慮使用unordered map,先統計所有數出現的概率,再把unordered map reverse一下,得到每個頻數對應的原整數。 2.AC代碼( 16 ms, faste

原创 AISHELL -1數據集等語音數據集介紹

1. AISHELL數據集 總共178小時,400個人講,其中訓練集340個人,測試解20個人,驗證集40個人,每個人大概講三百多句話,每個人講的話都放在一個文件夾裏面。 AISHELL-2結構類似(1000個小時),不過總共1991人

原创 C++理解upper_bound 和lower_bound

C++中的upper_bound 和lower_bound比較容易弄混。記住的方法是根據名字記住其功能,如upper_bound表示以某個數爲上限,這個數應該放在哪個位置;lower_bound表示以某個數爲下限,這個數應該放在哪個位置。

原创 cv2.imread返回none type解決方案

cv2.imread有時返回none type,可能是因爲路徑含有中文路徑,也可能不是這個原因,但是圖片是好的,可以正常打開。這時可以換一個文件讀取方案: import PIL np.array(PIL.Image.open('000.

原创 某一點繞另一點逆時針旋轉90後的座標

普適公式見博客https://blog.csdn.net/faithmy509/article/details/80235631 令b=90得到 x=x2-(y1-y2) y=y2+(x1-x2) 考試時有個辦法可以現場推一下,不用記:

原创 C++ 求組合數防止溢出

long long C(int N, int M) { long long sum = 1; for(int i=1;i<=M; i++) { sum=sum*(N-M+i)/i; }