原创 樹結構的打印——Python實現

在做 HTML 的解析的時候遇到的需求,希望能用 Python 實現一下類似 bash 下 tree 命令輸出的效果,類似這樣: . ├── a3c_demo.py ├── dqn-boat_mannual │ ├── ICO

原创 EEG 處理庫 mne 的 datasets 數據下載問題

從 mne 的 datasets 第一次導入數據的時候是需要下載的,這裏有兩個蛋疼的地方: 下載很慢,幾乎下不動 默認路徑是 ~/mne_data 我們肯定希望能自己下載數據放到自己想要的文件夾裏,然後告訴 mne 別下載了,

原创 【Python】安裝Pygraphviz的正確姿勢

1. 前言 Pygraphviz 是 graphviz 的一個 Python API 版本。我出於一些私人的需要,於是嘗試着下載這個庫使用一下,結果發現這個庫的安裝過程簡直到處都是坑。 Part2 是我爲自己被這麼一個庫坑害了一個

原创 【EEG分類】腦電信號提取PSD功率譜密度特徵

1. 序言 腦電信號是一種非平穩的隨機信號,一般而言隨機信號的持續時間是無限長的,因此隨機信號的總能量是無限的,而隨機過程的任意一個樣本函數都不滿足絕對可積條件,所以其傅里葉變換不存在。 不過,儘管隨機信號的總能量是無限的,但其平

原创 在keras中自定義 Callbacks 的一個模板

# -*- coding: utf-8 -*- from keras import layers from keras.callbacks import Callback from keras.models import Sequ

原创 【串匹配算法】BF和KMP完全詳解+手動求next數組

關於字符串的模式匹配問題,有許多算法,這裏介紹最簡單著名的兩個。 1. 暴力求解 一個簡單粗暴的方法就是,從主串的第一個字符和模式串的第一個字符開始,一個一個字符匹配。一旦失配,就從該次匹配開始時匹配的主串字符的下一個字符開始重

原创 【Python】獲取屏幕真實分辨率、縮放後的分辨率以及縮放比例

如果你在網上去搜如何用 Python 獲取屏幕分辨率,那麼肯定一堆人會告訴你用 win32 接口的 GetSystemMetrics 函數就可以了。 這雖然沒錯,但其實有一點疏漏。就是 GetSystemMetrics 獲取的只是

原创 【排序】n2以下級別的基本排序算法:希爾排序、歸併排序、堆排序和快排

介紹基於比較的排序剩下的幾個,剩下幾個的算法效率都高於前面幾個,除了希爾排序之外都是 O(nlog⁡n)O(n\log{n})O(nlogn) 級別的。 1. 希爾排序 1.1 思路 插入排序的算法複雜度爲 O(n2)O(n^{2

原创 【Python】用Tkinter實現一個簡單的任意區域截圖軟件

1. 思路 基本思路是: 創建一個 tkinter 窗體,鋪滿整個屏幕,設置窗體無邊框半透明 在窗體中添加一個canvas 監控按鍵,按下鼠標左鍵並拖動時,自動在canvas中繪製出對應的矩形方塊 放開左鍵後,當按下 enter

原创 01揹包問題完全詳解

揹包問題 (Knapsack problem) 是一種組合優化的 NP 完全問題。問題可以描述爲:給定一組物品,每種物品都有自己的重量和價格,在限定的總重量內,我們如何選擇,才能使得物品的總價格最高。問題的名稱來源於如何選擇最合適

原创 【C/C++】如何帥氣地在C/C++中輸入字符串

1. C-風格字符串輸入 1.1 scanf 使用 scanf 可以輸入不帶空格的字符串。 char str[100]; scanf("%s", str); printf("%s\n", str); 輸入: Hello Wor

原创 時頻分析之STFT:短時傅里葉變換的原理與代碼實現(非調用Matlab API)

1. 引言 在信號分析中,傅里葉變換可稱得上是神器。但在實際應用中,人們發現它還是存在一些不可忽視的缺陷。 爲了便於敘述考察以下兩種情形: Case 1 考察這樣一個函數: fs = 1000; t = 0:1/fs:1 - 1/

原创 Separable Convolutions: 可分離的卷積,讓CNN再次偉大

1. 回顧傳統 CNN 及它的不足之處 1.1 時間!時間! 傳統的卷積神經網絡已經在很多領域大顯身手,在許多機器學習項目中取得了巨大的成就。但是它仍然存在一個最致命的問題——花費過大。 花費過大,主要體現在兩種方面: 第一個方面

原创 正則表達式 Cheat Sheet

1. 匹配單個字符 1.1 任意字符 . 可以匹配任意單個除了換行符的字符。 例: 機器學習 鏈接: https://pan.baidu.com/s/1o9hlR5o 密碼: 6iih . 機器學習 鏈接: https:

原创 堆/優先隊列與二叉堆

1. 堆的概念 堆又名優先隊列,是一種特殊的隊列結構(儘管實現可能和隊列毫無相似之處)。它的特點如下: 入隊: 和正常隊列一樣把元素插入到數據結構中 出隊: 將最小/大的元素出隊 根據出隊元素是最大的還是最小的元素又可以把堆分