- 博客(72)
- 收藏
- 关注
原创 矩阵分块乘法
矩阵乘法普通矩阵乘法(ijk)void matrix_multply(float *a, float *b, float *c, int n){ for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { float sum = c[i*N + j] ; for(int k = 0; k < n; k++)
2020-12-01 23:46:05
3980
1
原创 ipython中的模块导入机制
Python REPL中的模块导入机制How does importing in Python work?Turns out that, for efficiency reasons, when you import a module in an interactive Python session, Python interpreter does two steps:First, it checks if the module is already cached in the sys.mod
2020-10-14 23:18:50
196
原创 虚拟环境安装pytorch
conda create -n #名字# python=#3.6#conda activate #名字#创建项目时选conda environment在anaconda\envs下可以获得各个虚拟环境的python.exe检查pytorch版本所支持的cuda版本cuda安装目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2下载对应版本的torch和torchvision进入下载pytorch的文件夹,并在改文件夹下
2020-10-13 10:32:58
1025
原创 getBGM
!apt install ffmpegpip install spleeterfrom IPython.display import Audio# 获取网上资源!wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3# 本地上传资源from google.colab import filesuploaded = files.upload()for fn in uploaded.keys(): prin
2020-10-09 20:30:36
94
原创 jupyter notebook添加虚拟环境
下载ipykernelconda install ipykernel创建jupyter里的虚拟环境python -m ipykernel install --name xxx注意:此时只是在创建而且,环境中并没有解释器添加解释器根据创建成功的信息找到jupyter虚拟环境文件夹打开其中的kernel.json填入解释器位置...
2020-09-15 19:11:54
235
原创 制作二维码
获得要存入二维码的信息(注意不只是qq号或者微信号,应该是存有微信号的协议,好让手机自动跳转)搜索“二维码 解码”,翻译自己微信名片,获得信息安装myqr库生成二维码由于pip安装失败所以手动下载下载后,以管理员权限打开cmd,到下载目录并运行python setup.py install然而python中缺少相关PIL包(即pillow图像处理包)所以将调用MyQRfrom MyQR import myqrmyqr.run(words="https://u.wechat.com
2020-07-15 17:18:29
405
1
原创 提升胜率的难度
越加粗样式往上,提升1%越难。就像1/2 2/3 3/4提升的慢百分数即比例,当比例小时,加相同的数,分子的收益更高,所以分子比分母会提高0 / 300 = 0%x / (300+x) = 0.010.99x=3x=34/304=0.0131578947150 / 300 = 0.5(150+x) / (300+x) = 0.510.49x=3x=6157/307=0.5114006515237 / 300 = 0.79%(237+x) / (300+x) = 0.80.2x
2020-06-30 18:31:01
155
原创 两硬币旋转
硬币转了两圈。首先定义一下转:箭头朝上的次数一圈是走过周长的路径(把圆拉成直线来想)一圈是由于在圆上行走时,参考系变化,所以在转过1/4时箭头已经朝下了
2020-06-30 16:36:50
599
原创 正则化
theta0不需要正则化,否则欠拟合相比与其他theta,正则化对theta0的控制是绝对的。lamdb越大,theta0绝对值越接近0. if j == 0: theta[j] = theta[j]-(alpha/m)*np.sum((hypothesis(X,theta) - y)*X[:,j].reshape(-1,1)) else: theta[j] = (1-lambd)*theta[
2020-06-22 10:30:07
185
原创 插入全为1的列
直接插入数字,插入向量时有点奇怪(目的是插入列,却要insert行向量)创建m1的列向量进行插入扑街创建1m的列向量进行插入,可以
2020-06-22 00:06:43
411
原创 逻辑回归的矩阵实现
矩阵实现优于数组实现矩阵实现一步到位,数组实现时有多步分开的运算,会损失精度temp是矩阵计算的差值temp1是数组计算的差值,再求和两者存在差距数组计算出来的准确度更低
2020-06-21 23:59:50
601
原创 线性回归
不做标准化的随机梯度下降:问题多多.做标准化的随机梯度下降:未标准化的批量梯度下降:10/97batch未标准化的批量梯度下降:50/97batch未标准化的批量梯度下降:90/97batch未标准化的批量梯度下降:96/97batch...
2020-06-19 00:35:52
109
原创 list、array和matrix&multiply、dot和*
Numpy matrices必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的matrix 拥有array的所有特性。matrix 和 array 都可以通过objects后面加.T 得到其转置。但是 matrix objects 还可以在后面加 .H f得到共轭矩阵, 加 .I 得到逆矩阵。matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是矩阵积** 2运算符的作用也不一样 :matrix是矩阵相乘,array是每个元
2020-06-17 17:57:33
138
原创 标准化
标准化收敛更快,且无直线下降归一化时应该注意,标准差为0,比如x全为1的那列def featureNormalize(X): for i in range(X.shape[1]): mu = np.average(X[:,i],axis=0) sigma =np.std(X[:,i],axis=0,ddof=1) # 第一列都是1,sigma为0,除0为nan if isgma != 0:
2020-06-17 17:36:17
224
原创 jupyter修改起始目录
jupyter位置。原本的快捷方式被我改的不能用了显示jupyter配置修改起始目录重新创建jupyter notebook快捷方式
2020-06-06 21:26:06
187
原创 数学笔记
每章或者每个知识点学完后都可以自己做一份知识点的归纳。所有的极限题目都逃不出上图的方法。本页内容虽不多,但都是自己理解后提炼的精华,多次迭代完成(反正是活页纸),不要想着第一次就能做到全面,先把自己觉得有用的东西记下来,遇到不会做的题目就对照着这张纸按照解题步骤一步步走下来,有助于培养做题思维。遇到不会的新题就看它是否可以归为其中的一种类型,或者作为新的点补充进来。数学是所以考研科目中做题量最大的一门,这个是把错题记下来方便以后复习显得尤为重要(习题集做完就丢;全书只是当做字典,不会就查;只有错题才是.
2020-06-03 11:35:33
777
1
原创 网上书城介绍
搜索引擎便是我们最常接触的网络爬虫,如:百度,谷歌,bing等。动态网站和静态相比于静态网站(所有内容都能在网页内找到),动态网站有大量图片,视频素材但过于复杂的动态页面会给搜索引擎带来困扰,对于想被搜索到的信息会引入静态网站,即SEO(search engine optimization, 搜索引擎优化)移动应用一般移动应用的信息无法通过网页搜索到。(百度搜不到抖音的短视频)定向爬虫...
2020-04-27 20:33:23
648
原创 数据分析
1、 读取数据,并将数据转换成 DataFrame 格式查看数据,进行清洗无关数据,标签编码数据集的标准化构建训练集和测试集(本课暂不考虑验证集)数据标准化对SVM影响很大(28%–>98%)...
2020-04-24 23:47:11
159
原创 dataframe
DataFrame[[" “,” “]]获取的是副本(改变不影响)DataFrame[” "]获取的是某一列的视图(改变影响)因为[0,1]([:,:]) 0代表行坐标,所以axis=0表示在行上移动,如:从第0行到第2行,实际上形成了列的效果apply(method)的用法:使用method方法默认对每一列进行相应的操作对行加上axis=1df.apply(np.cumsum, ...
2020-04-23 19:34:14
160
原创 库的下载
通过anaconda下载(镜像)最稳定,pip,conda,github下载包再解压后cd到源码根目录,运行下面代码$ python setup.py install均网络链接不行
2020-04-03 10:37:23
159
原创 三门问题啊
我觉得:主持有两扇门,必定有一扇是山羊,即不论我选的是否中奖,主持人都会有一扇山羊。即简化成不论我选了什么主持人的一扇门和我的一扇门,各50%但实际上:主持人总是有两扇门即2/3,肯定有一扇门为空,但这也不改变他有两扇门时的2/3概率分歧:我觉得一扇绝对存在的空门(因为他是主持人,他选的一定是空门)没有提供信息换个角度:在我选择之前,主持人去掉一个空门,我二选一50%在我选择后(没打...
2020-03-31 12:05:31
361
原创 标准库
time获取格式化时间计时(1)time.time() 返回自纪元以来的秒数,记录sleep(2)time.perf_counter() 随意选取一个时间点,记录现在时间到该时间点的间隔秒数,记录sleep(3)time.process_time() 随意选取一个时间点,记录现在时间到该时间点的间隔秒数,不记录sleeprandom随机种子——seed(a=None)...
2020-03-31 00:02:24
245
原创 归并排序&基数排序
合并两段排序需要复制一个数组方便操作,但大小应该选大的 ,错误示范://int* b = new int[high-low+1];*如果low=7,high=9,则b数组大小为3,但是随后访问b[7]正确: int b = new int[high];归并排序是递归过程,应该用if而非while //while(low<high){ 不是while是if空间复杂度...
2020-03-30 00:35:14
116
原创 浅拷贝,创建多维数组 神器
起别名,浅拷贝,深拷贝浅拷贝复制元素的地址,改变不可变元素则前后不同,改变可变元素则一起改变可变,不可变的意思是改变时地址是否也需要改变list_2 = list_1.copy() list_2 = list_1[:]list_2 = list(list_1)list相当于数组,连续存储的是每个元素的地址列表内的元素可以分散的存储在内存中列表存储的,实际上是这些元素的...
2020-03-26 23:58:09
115
原创 浅拷贝
浅拷贝-复制地址list1[int,…]list2 = list1.copy()list1[0]=10list2[0]=20int的赋值是把新的int的地址赋给list,10与20的地址不同,所以list1[0]和list2[0]不同但列表的地址不同,如下图可以看到,list指向同一个地址,对list值的修改不会改变list的地址,他们仍指向相同的list元组是不可变的,但进行+8...
2020-03-26 13:37:28
117
原创 选择排序
快排记得写终止条件,因为是递归形式,否则无限循环序号是严格小于,确保退出时low=high元素间是<=,>=否则两个互相抵消#include<iostream>using namespace std;void bubble(int a[], int n){ for(int i=1;i<n;i++){//比较n个数n-1次即可 int flag = ...
2020-03-26 12:26:50
82
原创 文件操作
通用格式with open(“文件路径”, “打开模式”, encoding = “操作文件的字符编码”) as f:“对文件进行相应的读写操作”使用with 块的好处:执行完毕后,自动对文件进行close操作。with open("E:\ipython\测试文件.txt", "r", encoding = "gbk") as f: # 第一步:打开文件 text ...
2020-03-26 12:09:56
179
原创 类
集成父类class 子类名(父类名):class Car: def __init__(self, brand, model, year): """初始化汽车属性""" # 相当于类内部的变量 self.brand = brand # 汽车的品牌 self.model = model ...
2020-03-25 19:21:19
88
原创 函数
默认参数在定义阶段就给形参赋值——该形参的常用值默认参数必须放在非默认参数后面可选参数def name(first_name, last_name, middle_name=None):默认参数应该设置为不可变类型(数字、字符串、元组)可变类型会记忆地址,使得每次都在上次的基础上进行def function(ls=[]): print(id(ls)) ls.appe...
2020-03-25 13:11:10
103
原创 组合数据类型
list产生方式:1.直接赋值2.list(可迭代对象)可迭代对象包括:字符串、元组、集合、range()等range(起始数字,终止数字,数字间隔)产生数字序列如果起始数字缺省,默认为0必须包含终止数字数字间隔缺省,默认为1注意是不包括终止数字的输出100内的偶数# 注意range(100):是不包括100的ans = []# for i in range(0,101,...
2020-03-23 22:24:41
304
原创 prim生成树
和dijsktra很像对比if(min_weight[u]+g.edges[u][i] < min_weight[i] && !vis[i]){***注意与dijsktra区分if(g.edges[min_arc][i] < min_weight[i] && !vis[i]){struct MGraph{ char vertex[maxSize]...
2020-03-22 23:41:37
193
原创 基本数据类型
bin();oct();hex()获取相应进制的字符串浮点数——不确定性# 除法运算的结果是浮点数8/4四舍五入 round(x,n)整数商和模运算 divmod(x,y) 等价于返回二元元组(x//y,x % y),更快divmod(13, 5) # 较(x//y,x % y)更快,只执行了一次x/yx//y #除法,向下取整求和sum(x) # 要求list之...
2020-03-22 21:11:50
78
原创 最短路径
dijkstra注意:c++数组初始化//C/C++不支持数组整体赋值,可以在声明数组时整体初始化。//无论数组有多大,全部初始化为0的操作很简单,如int a[3000]={0};就可以将a的3000个元素全部置0;//若要赋其他值,例如全部赋值为7,写成int a[3000]={7};只有a[0]=7;void Dijkstra(MGraph g, int u){//u为源起点的...
2020-03-22 12:11:49
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人