技术文章
文章平均质量分 53
FrenchOldDriver
这个作者很懒,什么都没留下…
展开
-
【踩坑指南】Stable Diffusion 服务器端部署笔记
https://github.com/CompVis/stable-diffusion 这个网址,下载压缩包解压,也可以用git clone下载。下载地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original。文件中自带瑟图检测,如果触发了会生成一张全黑图片或者是其他和谐图替代。其实在代码中可以注释掉。随便选一个就行,下载了之后放到stable-diffusion 文件夹中的。其他有啥漏掉的包基本直接pip就行。就不会触发安全检测了。原创 2023-02-22 14:45:38 · 5014 阅读 · 6 评论 -
好看的混淆矩阵可视化,以小数方式显示
除了用seaborn,还可以用ConfusionMatrixDisplay。混淆矩阵通常长上面这个样子,通过。只需要简单几行,即可实现。原创 2023-01-04 10:31:03 · 1907 阅读 · 3 评论 -
latex设置citation显示作者+年份
我后续代码单独开的新文件是可以成功的,但有时候写好的论文再修改格式,怎么改都改不出来,可能是有覆盖。再overleaf上预览效果就是这样. 那个绿色的框是可以关掉的,具体代码忘了,我这里默认关,转成pdf之后就没有绿框了。就可以,就能产生(abc et al., 2015) 这种格式, 如果你不想要圆括号,可以使用。手动声明格式,你甚至可以声明一个大括号一个中括号,但注意后面这种方式,会覆盖掉前面的。如果是bib文件分开放,并且每个引用都明确写了author和year,那么直接。不显示作者和年份,或者像。原创 2022-12-14 20:10:00 · 10356 阅读 · 3 评论 -
【图像处理笔记3】Gabor Filter的手动和调包实现
Gabor filter 作为一种很出名的纹理滤波器,可以很好的捕捉纹理信息。比如设置成(3, 3, math.pi/2, 0.5)的参数。显示的时候要用np.real取实数部分,不然画不出来。现在的Gabor由4个参数控制(Gabor还可以用过skimage 调包实现。代码实现如下, 代码里的freq就是。原创 2022-11-09 11:20:26 · 740 阅读 · 0 评论 -
opencv图像处理笔记(二):SIFT和SURF算法,获取特征描述点并匹配
这两个算法相似,都是为了获取局部特征点的特征向量的。具体数学原理不过多赘述值得注意的是这两个函数在早期版本(opencv3.4 以前)中属于, 而在4以后是可以直接省掉的。原创 2022-10-14 15:48:13 · 1481 阅读 · 0 评论 -
pytorch几种learning rate的使用方式
pytorch的学习率都在torch.optim.lr_scheduler里面使用方式基本一致,都需要和optimizer配合使用。说一下几个常用的。原创 2022-09-14 14:37:50 · 1045 阅读 · 0 评论 -
opencv图像处理笔记【1】:LBP算法的实现
LBP的算法全称是Local Binary Pattern, 局部二值特征。他的实现也很简单,对于图像的一个3x3的块,中心的值和周围八个点作比较,周围点比中心点大为1,反之为0,从而可以将当前这个中心点转换成只包含01的二值表示,然后再将二进制转成十进制存储。LBP的实现还有很多变种,比如圆形LBP。无论其方式如何变化,其中心思想都是周围点和中心点比较。生成的图片就会产生这种类似浮雕一样的效果。原创 2022-08-24 10:47:31 · 1259 阅读 · 0 评论 -
python装apex遇到无文件或文件夹 error: [Errno 2] No such file or directory: ‘xxx‘的问题解决方案
会提示你某个文件或文件夹不存在,py文件的名称可能会有所不同原创 2022-08-05 15:28:46 · 1623 阅读 · 0 评论 -
关于Hdmi2.1,FRL,DSC,VRR,ALLM你需要知道这些
最近在研究Hdmi相关内容,网上很多信息都是零零碎碎的,结合自己的一些研究简单记录一下。Hdmi,High Definition Multimedia Interface,高清多媒体界面HDMI2.1是最新的一种食品接口标准,他的旧版本有2.0,1.4,1.3, 1.2,1.1。随着分辨率和帧率的要求越来越高,以及4K,8K电视、游戏等产品的相继问世,越来越多的电脑厂商也开始支持Hdmi2.1。TMDS以前的hdmi依赖于TMDS(最小化差分传输信号)的方式传输,他的传输速率有限,无法承载高分辨原创 2022-03-23 13:39:49 · 22235 阅读 · 0 评论 -
Colab保存模型到google drive
一般在colab中训练好模型之后,我们都希望保留模型参数或者实验结果,这样下次就可以直接访问而不需要再次run model。首先保存模型的代码比较简单,比如用pytorch的话:import torchtorch.save(model, './model.pt')或者用pickle保存模型结果,具体怎么使用pickle可以看我的另一篇文章。但问题是,这个保存并没有和自己的google drive云盘绑定,实际上只是保存在了colab的当前内存中。。等你下次刷新就没了。所以在存模型之前需要挂到d原创 2021-06-07 13:45:06 · 7295 阅读 · 5 评论 -
pickle存储和读取
下载:pip install pickle存储:你有file这个文件,你要存到/path/路径下import picklepickle.dump(file, open('./path/file_name.pkl', 'wb'))注意open里面要用’wb’现在从/path/这个路劲读取file文件读取file = pickle.load(open('./path/file_name.pkl', 'rb'))注意open里是’rb’...原创 2021-05-17 14:37:18 · 909 阅读 · 0 评论 -
python带阴影范围的折线图
有时候画折线图需要这种效果:又叫shade range graph。只需要使用plt.fill_between即可代码:x=[0,1,2,3,4,5,6,7]y1=[4, 6, 7, 5, 5.5, 6, 9, 7.3]y2=[2, 2.5, 3.9, 4, 3, 2.4, 8, 6.9]y3=[3, 4, 6, 4.5, 4, 5, 8.5, 7]plt.plot(x, y3)plt.fill_between(x, y1, y2, #上限,下限 facecolor='g原创 2021-04-25 14:34:28 · 12187 阅读 · 0 评论 -
cuda, cudnn和pytorch_gpu安装
cuda官网:cuda选择好对应的平台然后点击下方的下载,会提供local和network两种下载方式。下载好了之后安装他会让你自定义文件夹,但安装好了之后你会发现cuda文件夹消失了。他会跑到C盘路径下,反正就是在C盘program files里找一下。进入该文件夹并找到bin,用命令行进入到对应的路径,比如我这里是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin命令行进入之后输入nvcc -V查看cuda安装是否成功。原创 2021-04-08 00:45:35 · 758 阅读 · 0 评论 -
python多个图例共同显示
比如我想一张图显示好几个legend如果是直接用plt.plot()的话,使用plt.gca().add_artist()函数即可。示范代码:plt.plot([1,2,3],[3,6,9], label=[3,6,9])l1 = plt.legend(loc='upper right')plt.legend(loc='upper left')plt.gca().add_artist(l1)plt.show()因为用了第二个plt.legend之后,第一个会被覆盖掉,使用add_arti原创 2021-03-24 22:34:28 · 8631 阅读 · 0 评论 -
终于解决python画图不显示中文的问题了
运行环境mac发现使用matplotlib等相关绘图包时中文会出现方块,无法显示,试了网上各种方法都不行。。后来发现其实是本地库根本就没有中文字体包,这样的话怎么修改代码都是没用的。。。卒首先查看是否有相关中文字体包from matplotlib.font_manager import FontManagerimport subprocessmpl_fonts = set(f.name for f in FontManager().ttflist)print('all font list g原创 2021-03-15 13:48:43 · 4055 阅读 · 6 评论 -
R中dplyr包的select和filter实现横向/竖向选择
当我们平时处理csv等一系列文件时,通常希望只选择其中某几列,或者符合条件的某几行。则可以通过dplyr包中的一些函数实现。library(dplyr)table <- data.frame(cbind(c(1,2,3), c('Li','Zhang','Li'), c(11,13,15)))%>%rename(id = X1, name = X2, score = X3)假如现在我有这么一个简单的表,第一列是id,第二列是名字,第三列是分数。比如我想只选则名字这一列,则table%原创 2021-02-09 17:25:13 · 3762 阅读 · 0 评论 -
Latex实现框内强制换行
之前找了半天没找到合适的解决方案,最后发现可以用makecell实现。比如我现在有这么一个表格\begin{table*}[t!]\centering\resizebox{\textwidth}{!}{%\begin{tabular}{|c|c|c|c|}\hline A & Text Example Here & B & C \\\hline I want to new line here & A & B &原创 2021-01-21 23:35:03 · 2367 阅读 · 0 评论 -
关于复数的一些笔记
文章目录写在前面eπi+1=0e^{\pi i}+1=0eπi+1=0如何来的Fourier Transform傅立叶变换毕达哥拉斯(勾股定理)三元组生成写在前面复数的本质是一种旋转,不要只记住i=−1i=\sqrt{-1}i=−1,在复平面中,从1到i就是逆时针旋转90度,即乘i等于逆时针,乘-1等于顺时针,两次-i就正好等于两次i。有了这一层思想后,对复数。能有更深的认识eπi+1=0e^{\pi i}+1=0eπi+1=0如何来的网上有一个有趣的视频讲解需要科学上网该等式被称为最完美的等式原创 2020-10-05 16:19:57 · 9092 阅读 · 1 评论 -
google colab中使用git clone导入代码至google drive
需要科学上网才能使用colab进入colab之后,先挂上google drive:from google.colab import drivedrive.mount('/content/drive')import oscolab的路径有时候很迷,所以用%cd命令强制跳到你要clone文件的那个路径, 比如我这里就是到My Drive下面:%cd '/content/drive/My Drive' #!pwd 如果不放心在哪儿可以pwd查看一下然后创建文件夹,自己定名字:!mkdir原创 2020-09-28 23:30:03 · 14240 阅读 · 3 评论 -
5分钟安装xgboost
运行环境mac OS命令行输入:pip install xgboost以及brew install libomp等待然后在python代码中导入查看版本import xgboost as xgbxgb.__version__显示版本即安装成功,我的是1.1.1原创 2020-08-03 11:49:27 · 226 阅读 · 0 评论 -
关于Tensorflow报错ERROR: twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.的解决方案
用pip下载:pip install PyHamcrest用Anaconda下载:conda install PyHamcrest原创 2020-04-07 14:17:35 · 1929 阅读 · 0 评论 -
Mac环境下命令行运行C/C++
进入目录:cd Desktop/创建文件:touch test.c #c文件touch test.cpp #c++文件随便输个什么代码测试,可以将新建文件选择文本模式打开(也可以vi + 文件夹的方式在命令行打开)这里以C++代码为例:#include<iostream>using namespace std;int main(){ int i=2; cout&...原创 2020-03-01 16:43:53 · 2508 阅读 · 0 评论 -
Mac利用Homebrew快速安装启动RabbitMQ,秒学会
看了一下网上的RabbitMQ安装教程较为复杂,而mac常用的软件工具包homebrew里已经有这个这个软件了,那肯定是怎么快怎么来,先安装学习了再说:Terminal下输入brew install rabbitmq 就可以了安装成功后,文件在该路径下:/usr/local/Cellar/rabbitmq/版本号/进入之后输入sbin/rabbit-server 启动服务器,启动成功之后会显...原创 2019-08-29 16:55:20 · 2304 阅读 · 1 评论 -
利用SpringBoot中的MongoTemplate实现MongoDB数据库的set, push和pop操作
由于在项目中遇到了需要在后台服务器上通过java代码直接操作MongoDB数据库,故写入此博客以作复习备忘之用。1. 先复习直接在MongoDB数据库里的操作方式:假设这里已经有创建好了对应的Collection了,我这里的Collection叫作sheets(不重要),里面有一个元素长这样:1.1 直接来操作语句的语法:db.对应的表名称.update( {"_id":“你要...原创 2019-08-29 04:24:56 · 4486 阅读 · 3 评论 -
二叉树的前序,中序,后序遍历(递归/非递归实现),层次遍历
算法必会基本内容1,递归实现感觉一句话可以概括了。。先看前序遍历:public void bianli(TreeNode root){ if(root==null)return; System.out.println(root.val); //牛客上要求是存在List中,这里就换成一个链表就好了 bianli(root.left); bianli(root.right);}中序...原创 2019-08-09 22:13:13 · 347 阅读 · 0 评论 -
如何将Redis配置成windows服务快速启动
如何将Redis配置成windows服务快速启动第一次在CSDN写博客,记录一下平时开发的一些操作细节,同时呢也方便以后的查找和自我复习。接下来是操作步骤,关于如何将redis设置成服务,而不是只能到安装路径下启动并且窗口关闭就会服务关闭的那种情况。这样呢便于其他的开发操作。关于Redis如何下载和配置可以查看其他文章。1)进入Redis所在文件夹,获取当前路径,再配置成环境变量,具体操作:右键点...原创 2019-08-07 15:32:08 · 989 阅读 · 0 评论 -
利用Vue.js中的vue-resource 实现 Echarts 动态折线图
本文主要讲解前端这一块,后端服务器和数据库部分默认你已经懂了,后面我也会继续写其他文章讲解后端这一块。最近做项目,需要实现一个车间自动循环播放机台数据的效果,苦苦搜寻, 最后发现了百度echarts这个好东西,可以说是非常适合做数据可视化了。官网文档看这里链接。1,引入echarts如果你只是在html里使用vue,可以直接添加cdn链接导入 :<script src="echart...原创 2019-08-09 10:51:29 · 759 阅读 · 1 评论