自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Pytorch 实现 PSD 功率谱计算:periodogram 和 welch 方法

前言由于跑代码需要,本人用 Pytorch 简单实现了 PSD 估计中的最常用的 periodogram 和 welch 函数。这里把我的实现分享给大家。在实现方案和参数的设计上,本人参考了 scipy 的 API 设计。periodogram 的实现函数体如下。def _periodogram(X: torch.Tensor, fs, detrend, scaling): if X.dim() > 2: X = torch.squeeze(X) elif X

2021-10-20 17:59:46 5177 3

原创 【小工具】如何在 VsCode 下“自由”地运行 Python 脚本和模块

1. 需求我知道。VsCode 是自带运行 Python 的方法的,也就是按下 F5,即可进入调试运行。如果不喜欢这一款式,也可以自己下载一个 Code Runner 插件一键运行。但是我有特别的需求:可以自由切换 Conda 环境运行可以作为独立的外部进程运行可以不依赖于工程 launch.json 的配置一条一条地说。自由切换Conda环境运行比如在某一个工程目录下,有两个文件:main_tf.py 和 main_torch.py。这两个脚本对应的环境是不太一样的。我希望可以自由切换

2021-10-10 15:24:27 1728

原创 【玩具代码】用C++获取窗体进程对应的PID

桌面上莫名其妙弹出来弹窗,光关掉可不行,还得知道是哪个进程搞的鬼。用C++(Windows API)写一段小小的代码,获取鼠标所在位置窗口的句柄,进而得到对应的 PID,代码很简单,就不做解释了。#include <Windows.h>#include <iostream>#include <cstdio>using namespace std;POINT lastCursorPos;POINT CursorPos;HWND hWnd;char lin

2021-03-02 21:06:27 1448 1

原创 【EEG分类】脑电信号提取PSD功率谱密度特征

1. 序言脑电信号是一种非平稳的随机信号,一般而言随机信号的持续时间是无限长的,因此随机信号的总能量是无限的,而随机过程的任意一个样本函数都不满足绝对可积条件,所以其傅里叶变换不存在。不过,尽管随机信号的总能量是无限的,但其平均功率却是有限的,因此,要对随机信号的频域进行分析,应从功率谱出发进行研究才有意义。正因如此,在研究中经常使用功率谱密度(Power spectral density, PSD)来分析脑电信号的频域特性。本文简单的演示了对脑电信号提取功率谱密度特征然后分类的基本流程。希望对那些尚

2020-06-26 18:00:47 27557 30

原创 时频分析之STFT:短时傅里叶变换的原理与代码实现(非调用Matlab API)

STFTfunction [STFT, f, t] = mystft(x, win, hop, nfft, fs) % function: [STFT, f, t] = stft(x, win, hop, nfft, fs) % % Input: % x - signal in the time domain % win - analysis window function % hop - hop size % nfft - numb

2020-06-20 19:44:13 80463 77

原创 win10 电脑蓝牙无法使用无法连接问题的一种神奇解决办法

首先描述以下我遇到的问题,如果你遇到的问题和我一样,那说不定这种方法也适用于你。突然发现电脑蓝牙键盘、蓝牙鼠标都无法使用,经过排查确定是电脑的问题打开“设置”——“设备”——“蓝牙和其他设备”,发现蓝牙设备还在列表中,但是删除设备按钮是灰色的,无法删除设备尝试“添加蓝牙或其他设备”,会显示“无法连接”之类的错误信息打开设备管理器,发现“蓝牙”不见了,但是在串行管理器那里多了一个无法识别的设备我查了一圈,什么重启电脑‘重启蓝牙服务、更新驱动统统没用,最后靠一个非常有玄学色彩的方法解

2020-05-24 20:42:16 43536 27

转载 【EEG】脑电图研究常用术语

一、描记参数定标(标准测量,calibration,CAL)用以测试各(笔)导的放大性能和决定其比例的高度,通过测试和调整,使全部脑电笔导,处于相同条件下记录的必不可少的措施,以保证在瞬间记录的脑波不失真地同步描记。通常将毫米(mm)折算为微伏(μV),例如矩形波的高度为5 mm即50μV。定标电压(标准电压,calibration voltage)脑电图机中内装的供给各笔导输入一...

2020-03-29 15:23:00 14852

转载 【转载】SELU 激活函数

说明本文非本人所著,转载自 https://www.jianshu.com/p/3a43a6a860ef。主要内容为李宏毅老师深度学习课程某次讲的 SELU 激活函数课程。由于课堂效果极好(实验部分),给我留下及其深刻的印象,所以特地挑选了一篇比较好的笔记备份到本博客上。正文要复现的一篇文章使用了一个奇怪的激活函数:the scaled exponential linear units, ...

2020-03-25 22:22:59 13391 1

原创 在keras中自定义 Callbacks 的一个模板

# -*- coding: utf-8 -*-from keras import layersfrom keras.callbacks import Callbackfrom keras.models import Sequentialfrom sklearn import datasetsclass MyCallback(Callback): """Keras (versi...

2020-03-24 22:26:00 1042

原创 Separable Convolutions: 可分离的卷积,让CNN再次伟大

Separable Convolutions1. 回顾传统 CNN 及它的不足之处1.1 时间!时间!传统的卷积神经网络已经在很多领域大显身手,在许多机器学习项目中取得了巨大的成就。但是它仍然存在一个最致命的问题——花费过大。花费过大,主要体现在两种方面:第一个方面是计算资源的消耗大人们开玩笑说,深度学习到最后比的就是谁的孔方兄多,虽然有开玩笑的成分,但也不无道理。不过考虑到做项目的人...

2020-03-22 00:00:52 4005 4

原创 【串匹配算法】BF和KMP完全详解+手动求next数组

关于字符串的模式匹配问题,有许多算法,这里介绍最简单著名的两个。1. 暴力求解一个简单粗暴的方法就是,从主串的第一个字符和模式串的第一个字符开始,一个一个字符匹配。一旦失配,就从该次匹配开始时匹配的主串字符的下一个字符开始重新匹配。int BruteForce(const string &src, const string &pattern){ int srcPt...

2020-03-20 00:22:55 426

原创 【C/C++】如何帅气地在C/C++中输入字符串

1. C-风格字符串输入1.1 scanf使用 scanf 可以输入不带空格的字符串。char str[100];scanf("%s", str);printf("%s\n", str);输入: Hello World输入: Helloscanf 遇到空格后就会停止读入,余下的部分自动留在缓冲区内。char str[100];int i = 1;while (~scan...

2020-03-20 00:17:26 331

原创 【C++】C++中的排序:不只是 std::sort

关于 C++ 中的排序,排除自己手写排序算法的轮子侠以外,大多都是调用 std::sort,不过除了这个以外还有一些其他的排序的法子,一一介绍。1. std::sort 和 std::stable_sort1.1 std::sort最经典的排序的方法莫过于 std::sort 了,好用而且通用性强。template <class RandomAccessIterator>vo...

2020-03-20 00:15:31 403

原创 【排序】n2以下级别的基本排序算法:希尔排序、归并排序、堆排序和快排

介绍基于比较的排序剩下的几个,剩下几个的算法效率都高于前面几个,除了希尔排序之外都是 O(nlog⁡n)O(n\log{n})O(nlogn) 级别的。1. 希尔排序1.1 思路插入排序的算法复杂度为 O(n2)O(n^{2})O(n2),但如果序列为正序可提高到 O(n)O(n)O(n),而且直接插入排序算法比较简单,希尔排序利用这两点得到了一种改进后的插入排序。希尔排序在数组中采用跳跃...

2020-03-20 00:13:09 449

原创 【趣味题目】n维切k刀

1. 引之前做了一道题:有一个大西瓜, 用水果刀平整地切, 总共切9刀, 最多能切成多少份, 最少能切成多少份?最少很好求,就是 10 份呗。关键是最多是多少。这个问题可以一般化为一个很经典的数学问题:k 个超平面可以把 n 维空间最多分为多少部分?我们定义 f(n, k)f(n,\ k)f(n, k) 表示该问题的解,首先我们会给出这个解的递推公式,然后给...

2020-03-20 00:05:46 486

原创 01背包问题完全详解

title: 背包问题date: 2019-06-02 13:44:54mathjax: truecategories:算法动态规化背包问题 (Knapsack problem) 是一种组合优化的 NP 完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背...

2020-03-20 00:03:28 2329

原创 正则表达式 Cheat Sheet

title: 正则表达式date: 2019-05-30 22:23:29tags:1. 匹配单个字符1.1 任意字符. 可以匹配任意单个除了换行符的字符。例:机器学习链接: https://pan.baidu.com/s/1o9hlR5o 密码: 6iih.机器学习链接: https://pan.baidu.com/s/1o9hlR5o 密码: 6iih1...

2020-03-19 23:57:17 688

原创 堆/优先队列与二叉堆

1. 堆的概念堆又名优先队列,是一种特殊的队列结构(尽管实现可能和队列毫无相似之处)。它的特点如下:入队: 和正常队列一样把元素插入到数据结构中出队: 将最小/大的元素出队根据出队元素是最大的还是最小的元素又可以把堆分类为大顶堆和小顶堆两类。堆的应用很广泛,最典型的例子就是带有优先级的排队,例如对中断的响应问题:优先响应高优先级的中断,同等优先级的按照顺序排队等。堆的实现方式有很多...

2020-03-19 23:41:14 325

原创 树结构的打印——Python实现

在做 HTML 的解析的时候遇到的需求,希望能用 Python 实现一下类似 bash 下 tree 命令输出的效果,类似这样:.├── a3c_demo.py├── dqn-boat_mannual│ ├── ICONS_Python│ ├── Image│ ├── __pycache__│ ├── ddpg.py│ ├── enviroment.py│ ...

2020-03-11 23:46:01 2666

原创 【Python】用Tkinter实现一个简单的任意区域截图软件

1. 思路基本思路是:创建一个 tkinter 窗体,铺满整个屏幕,设置窗体无边框半透明在窗体中添加一个canvas监控按键,按下鼠标左键并拖动时,自动在canvas中绘制出对应的矩形方块放开左键后,当按下 enter 时,检查当前的矩形区域调用 Pillow 库进行截图2. 重难点2.1 Tkinter 显示Tkinter 显示的唯一难点在于如何全屏无边框透明,代码如下:...

2020-03-11 16:23:35 3415 6

原创 【Python】获取屏幕真实分辨率、缩放后的分辨率以及缩放比例

如果你在网上去搜如何用 Python 获取屏幕分辨率,那么肯定一堆人会告诉你用 win32 接口的 GetSystemMetrics 函数就可以了。这虽然没错,但其实有一点疏漏。就是 GetSystemMetrics 获取的只是经过系统记录的分辨率,而非物理真实的分辨率。所以会出现这种偏差,是因为在windows系统里面有一种叫做缩放的神奇东西,那些屏幕分辨率比较高的朋友对这玩意应该不陌生。...

2020-03-11 16:00:04 17748 16

原创 EEG 处理库 mne 的 datasets 数据下载问题

从 mne 的 datasets 第一次导入数据的时候是需要下载的,这里有两个蛋疼的地方:下载很慢,几乎下不动默认路径是 ~/mne_data我们肯定希望能自己下载数据放到自己想要的文件夹里,然后告诉 mne 别下载了,到这个文件夹里找去吧!那么怎么做呢?首先我找到了 mne 对应位置的代码。在 mne.datasets.utils.py 里的_data_path 函数。def _...

2020-03-08 22:53:29 2996 2

原创 【Python】安装Pygraphviz的正确姿势

1. 前言Pygraphviz 是 graphviz 的一个 Python API 版本。我出于一些私人的需要,于是尝试着下载这个库使用一下,结果发现这个库的安装过程简直到处都是坑。Part2 是我为自己被这么一个库坑害了一个下午的时间而发的牢骚。不想看的同学直接跳到 Part3就行。2. 错误的安装姿势2.1 一坑:pip install pygraphviz用这种方法你会得到一个:...

2020-03-02 21:40:12 15692 46

原创 【日常】有道云笔记markdown数学公式格式转换脚本

最近开始用有道云笔记,发现其markdown数学公式的写法实在毒瘤。别人都是:$$$$他是:```math```无奈之下写了一个脚本。实现起来很简单,用正则替换一下就行。# -*- coding: utf-8 -*-import argparseimport reimport pyperclipparser = argparse.ArgumentParser( ...

2020-02-14 23:56:26 1921 1

原创 【Python】命令行下直接指定Anaconda环境运行Python脚本,并与Vscode的Task配合使用

1. 背景介绍距离第一次遇到这个问题其实已经有段时间了,只不过我一直没理会。今天重新振作,试着研究了以下这个问题。我一直用anaconda配合vscode来开发python,虽然官方一直推荐我们用launch的方法来运行,不过我个人更加偏好使用 task 来运行。其优点在于更加轻便,且方便选择多种运行方式。比如这种情况,使用这样的配置可以让我自由选择使用哪个环境来运行、使用什么参数。而使用l...

2019-12-16 19:15:32 6038 1

原创 【Python】在Python3 中安装一个 Python2 的库

一般来讲,我们都不会闲着蛋疼地去在 3 中装一个 2 的库。但有些特殊情况下可能还真的不得不得这么干。解决步骤如下:下载程序源代码使用 2to3.exe 程序把 Py2 代码改成 Py3 的重新编译涉及到的 DLL 文件,一般在 windows 下可以使用 msys2 环境进行编译python setup.py install搞定!...

2019-11-23 12:54:20 350

原创 【Python】 一次艰难的 python 绿色化经历

1. 背景这段时间和老师在做一个模拟器相关的项目,我这边是做一个本地运行算法再通过 TCP 发信号控制模拟器的东西。前两天算是收尾了。于是老师让我把我做的Python部分的程序打包一下。打包就打包呗,我兴冲冲地打算用 pyinstaller 做成可执行软件就行了,不过老师拦住我,对我提出了以下的要求:不许打包成 *.exe,要保持源代码,方便以后的人阅读修改把打包好的东西放到我们的 SV...

2019-09-23 09:59:14 2978 1

原创 美化 powershell 与自定义主题

1. 本文涉及的内容由于安装 oh-my-posh 的文章太多了,我懒得再写,所以仅仅涉及一些自定义主题方面的内容,文章末尾我给了几篇不错的参考博客。2. 安装 oh-my-posh安装略,见参考博客。字体问题当你在 powershell 下执行这个命令。 Write-Host "$([char] 0xE0A0; [char] 0xE0A1; [char] 0xE0A2; [char...

2019-09-23 09:44:31 2265

原创 C++ 中自定义比较器的正确姿势

在 C++ 中有很多情况下,我们需要自定义比较器,无非就是三种情况:对一个自定义的 struct 重写它的 operator < 方法定义一个 Comparator 函数定义一个 Comparator 结构体对象这三个其实我都已经用过很多次了,但是偶尔还是会出错,主要是错在 const 这个关键字上,所以这次来整理总结一下。1. 自定义的结构体如果我们自定义了一个 struc...

2019-07-21 15:30:16 8147

原创 Debug C++ 程序时如何查看数组中的内容

在 debug 的时候,有时我们希望从窗口中实时跟踪某个数组中的值。不幸的是,有时候,IDE 只会把它当作指针来看,就像这样:那么怎么查看呢?很简单,在窗口中添加这么一个跟踪就行了:*(int(*)[10])(arr)...

2019-07-16 15:50:58 8027 5

原创 【C++】踩坑: 对priority_queue.top() 取址 + 哈夫曼的实现

1. 踩坑记录今天天气好,我高高兴兴地打算用 priority_queue 实现一个哈夫曼树,我是这么做的:struct Node{ int val; Node *left = nullptr; Node *right = nullptr; Node(int v, Node *l = nullptr, Node *r = nullptr): val(v), l...

2019-06-28 17:26:37 1756 4

原创 用 Pyinstaller 打包 Python 程序 + 解决打包结果过大的问题

title: 用 Pyinstaller 来打包 + 解决打包结果过大问题date: 2019-05-24 20:24:35categories:工具教程这段时间应老师的要求,给实验室写了一个基于 PyQt5 的小工具。然而源码发过去人家还不要,一定要打包成可执行软件。那就打包呗,刚好以前对 Pyinstaller 有一点接触,就用了一下这玩意。这篇博文主要记录一下基本用法和踩得...

2019-05-24 21:13:23 43009 24

原创 【数学】拉格朗日对偶,从0到完全理解

1. 从最优化引出的拉格朗日乘数法1.1 一个最简单的无约束优化问题在学习与工程之中,我们时常会遇到一些优化的问题,也就是要对某个目标函数求取极值,最简单的形式如下。min⁡x∈Rnf(x)\large \min_{x \in \mathbb{R^n}}{f(x)}x∈Rnmin​f(x)这个式子表达的含义是以 xxx 为自变量,求取 f(x)f(x)f(x) 的最小值。如果想要求取最...

2019-05-17 13:18:04 24266 61

原创 USB用不了,通用串行总线控制器全是感叹号

莫名其妙的,鼠标就用不了,打开设备管理器,通用串行总线控制器下面全是黄色的感叹号。解决方法:打开注册表找到如下的位置如果你看到了有类似UpperFilters或者LowerFilters,把那一项删了回到设备管理器,把有感叹号的设备卸载了重启电脑搞定!...

2019-03-31 15:25:55 30594 1

原创 【错误笔记】关于Anaconda的CondaHTTPError问题-应该关注的不是CondaHTTPError

今天我创建了一个新的Conda环境 Tf ,需要安装一些模块,结果报错:(Tf) C:\Users\xxx&gt;conda install lxmlCollecting package metadata: failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url &lt;https://conda.anaconda.org/defa...

2019-02-24 14:59:56 3021 1

原创 【助记】CNN的维度变化

Size&nbsp;In&nbsp;Covolutional&nbsp;Layer:&nbsp;l\text{Size In Covolutional Layer: l}\\Size&nbsp;In&nbsp;Covolutional&nbsp;Layer:&nbsp;lFilter&nbsp;Size:f[l]Width&nbsp;and&nbsp;hight&nbsp;of&nbsp;a...

2019-02-16 17:14:35 944

原创 【出错笔记】Anaconda Sqlite3 ImportError: DLL load failed 问题解决

起因是我之前的Anaconda出了点问题,一气之下把它卸载了重新安装。结果输入 ipython 指令后意外发现报错:$ ipythonD:\Anaconda\lib\site-packages\IPython\core\history.py:226: UserWarning: IPython History requires SQLite, your history will not be s...

2019-02-04 12:16:22 8753 6

原创 VSCode运行多文件C++教程:使用CMake

事先说明这篇文章是一个CMake工具的简单使用介绍。缘起是因为上个学期上编译原理的课程要求做课程设计,用C++实现。一直以来出于一种奇妙心态的我非常厌恶使用 Visual Studio 这种笨重的IDE,向来用VScode作为C++主力编辑器,然而很遗憾VSCode自身不怎么支持C++多文档的编译(很麻烦,要不停的修改json配置文件),无奈为了寻求出路就稍微学了一下CMake来组织工程。本...

2019-02-03 12:04:02 20202 9

原创 【助记Note】反向传播求导公式

已知:Zb×m[l]=Wb×a[l]⋅Aa×m[l−1]+v⃗b×1Ab×m[l]=g(Z[l])Z_{b\times m}^{[l]} = W_{b\times a}^{[l]} \cdot A_{a\times m}^{[l-1]} + \vec{v}_{b \times 1}\\A_{b\times m}^{[l]} = g(Z^{[l]})Zb×m[l]​=Wb×a[l]​⋅Aa×...

2019-01-22 22:19:23 1351

原创 超简单!利用"查看源代码"+正则表达式复制百度文库无法复制内容

我们经常会遇到这种情况:想复制百度文库的内容却无法复制。我在网上搜索的解决方案大多不怎么好用,什么点击百度快照、加wap都有,但都不怎么好使。现在我给大家介绍一种我自己摸索出来的方法,使用效果极佳。首先选中文本,右键点击查看选中部分源代码。复制源代码。然后放到一个有正则表达式功能的文本编辑器里,我这里用的是VSCode。使用正则表达式将&lt;.*?&gt;的内容替换为空。...

2018-11-14 23:45:16 5033

PDFBookmark.zip

为PDF添加书签的工具。

2020-05-10

pygraphviz-1.5-cp37-cp37m-win_amd64.whl

Python 库 Pygraphviz 的Python 3.7 编译版本。由于这个库的官方安装实在是太恶心人了,所以我花了点时间才找到的稍微高一点的版本的编译结果。

2020-03-02

磁共振成像原理及fMRI介绍-中科院.pdf.pdf

中科院自动化所医学影像研究室田捷先生对MRI和FMRI基本原理的介绍讲义(PPT,PDF格式),共121页,比较系统完整。

2020-01-05

c++ primer 第五版答案

本文件《C++ primer》第五版课后习题答案详解及相关源码。 习题中的代码已包含在内,答案则以markdown的形式给出。

2017-09-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除