- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 linux centos7安装colmap
编译colmap期间如果遇到Could NOT find XXX,用sudo yum search xxx 搜索相关的库,如果有就用yum安装,没有就从源码编译安装。继续编译colmap,遇到报错:The CUDA compiler identification is unknown colmap。提示我们一些so跟miniconda3/lib中的so冲突,先把miniconda3目录重命名,编译colmap,然后再改回来。解决:打开FreeImage/Makefile.gnu,30行添加。
2023-11-03 14:06:00
651
原创 vscode免密登陆远程linux服务器,跳板机免密远程登陆
id_rsa为私钥文件,id_rsa.pub为公钥文件将公钥内容拷贝到authorized_keys,注意将authorized_keys权限修改为600之后按照之前的流程就可以免密远程登陆了
2022-06-07 11:35:54
1366
原创 torch里的分组卷积
普通卷积如果输入特征的通道是 32,希望输出特征的通道是 64,对于 3*3 的普通卷积来说,卷积层设置为:conv = torch.nn.Conv2d(in_channels=32, out_channels=64, kernel_size=3)我们查看卷积核的参数量print(conv.weight.shape) # torch.size([64,32,3,3])所以普通卷积的参数量是 64 ×\times× 32 ×\times× 3 ×\times× 3 = 18432 个参数分组卷
2021-03-11 14:01:54
866
原创 【面试题】字符串转浮点数
输入:"-78.506"输出:-78.506代码:def str2float(num): f1 = 1 f2 = 0 y = 1 u = 0 for i in range(len(a)): if num[i]=='-': f1 = -1 # 用来判断正数还是负数 elif num[i]=='.': f2 = 1 # 用来判断处于整数部分还是小数部分 elif not
2021-03-02 12:00:49
812
原创 【算法面试题python】合并k个有序列表
题目:合并k个有序list输入:[[3,4,5], [1,6], [2,6,7,8], [5,6,9]]输出:[1, 2, 3, 4, 5, 5, 6, 6, 6, 7, 8, 9]思路:为每个list分配一个指针,每次循环比较k个指针指向的元素,取最小的放入新列表,退出循环的条件是所有列表的元素都被取完代码:def merge(a): new = [] idx = [0]*len(a) # k个指针 while True: curmin = 1e6
2021-02-25 18:23:51
534
原创 matplotlib plt.figure 转 numpy array
思路:利用plt.savefig向BytesIO缓存中保存文件,再用PIL读取缓存中的文件转为numpyfrom PIL import Imagefrom io import BytesIOimg = np.ones((256,256,3), dtype=np.uint8)plt.figure()plt.imshow(img, cmap='gray')buffer = BytesIO()plt.savefig(buffer, format='png')new_img = np.asarra
2021-01-21 10:23:26
1799
原创 美图祛斑算法实战——雀斑消除
美图祛斑算法实战——雀斑消除本文主要根据这篇博文的思路,由于原博文没有放出完整代码,我这里尝试根据作者的思路实现人脸祛斑算法的代码完整版,本代码针对特定图像使用了一些trick,不是通用算法,仅做参考。算法流程主要为:灰度化对比度增强阈值处理梯度极大值查找连通域分析皮肤排除图像修复 inpaint本代码用到的图片如下,从这篇博文直接下载得到,我们的目标是去除任务颈肩部位的祛斑。首先导入用到的库import cv2import matplotlib.pyplot as plt
2021-01-15 16:38:44
2143
3
原创 python 求两个向量的顺时针夹角
以上述图片举例,要求 OB⃗\vec{OB}OB 相对 OA⃗\vec{OA}OA 的顺时针夹角。注意:这里使用图像坐标系1 定义求顺时针角度的函数import numpy as npdef clockwise_angle(v1, v2): x1,y1 = v1 x2,y2 = v2 dot = x1*x2+y1*y2 det = x1*y2-y1*x2 theta = np.arctan2(det, dot) theta = theta if theta>0 else 2*np..
2020-12-09 10:11:14
1355
1
原创 pytorch, tensorflow, keras统计模型参数大小
统计模型大小的方法统一步骤1 统计总的参数个数,2 利用参数个数算出权重大小pytorchdef get_model_size(model): para_num = sum([p.numel() for p in model.parameters()]) # para_size: 参数个数 * 每个4字节(float32) / 1024 / 1024,单位为 MB para_size = para_num * 4 / 1024 / 1024 return para_sizetenso
2020-11-10 09:39:44
3102
原创 四个框架numpy, tensorflow, keras, pytorch分别实现逻辑回归分类算法,实现梯度计算与参数更新
逻辑回归预备知识逻辑回归主要应用于二分类问题,公式: p=sigmoid(z)=11+e−zp = sigmoid(z) = \frac{1}{1+e^{-z}}p=sigmoid(z)=1+e−z1 梯度回传公式为:∂p∂z=p(1−p)\frac{\partial p}{\partial z}=p(1-p)∂z∂p=p(1−p)损失函数我们用二分类交叉熵(BCE, binary_cross_entropy),假设y为标签,p为预测概率:loss=−ylog(p)−(1−y)(1−p)loss
2020-09-28 10:33:42
839
原创 mac 安装 line_profiler, 如果 pip 安装 line_profiler 报错
pip install Cython --usergit clone https://github.com/rkern/line_profiler.gitcd line_profilercython _line_profiler.pyxpip install . --user
2020-08-22 13:06:02
472
原创 LeetCode(力扣)题目中二叉树的如何生成?根据给定顺序列表生成二叉树(python)
在刷 leetcode 二叉树相关的题目时,经常有这样给定的例子,例如: 检查平衡性实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \
2020-08-16 10:11:17
4155
2
原创 keras train_on_batch详解(train_on_batch的输出输入详解,train_on_batch多GPU训练详解,自定义学习率调整策略)
利用 train_on_batch 精细管理训练过程大部分使用 keras 的同学使用 fit() 或者 fit_generator() 进行模型训练, 这两个 api 对于刚接触深度学习的同学非常友好和方便,但是由于其是非常深度的封装,对于希望自定义训练过程的同学就显得不是那么方便(从 torch 转 keras 的同学可能更喜欢自定义训练过程),而且,对于 GAN 这种需要分步进行训练的模型,也无法直接使用 fit 或者 fit_generator 直接训练的。因此,keras 提供了 train_o
2020-08-11 11:32:26
24483
16
原创 pytorch torch.optim.lr_scheduler 调整学习率的六种策略
pytorch torch.optim.lr_scheduler 调整学习率的六种策略1. 为什么需要调整学习率在深度学习训练过程中,最重要的参数就是学习率,通常来说,在整个训练过层中,学习率不会一直保持不变,为了让模型能够在训练初期快速收敛,学习率通常比较大,在训练末期,为了让模型收敛在更小的局部最优点,学习率通常要比较小。2. 学习率的初始值设置其实,不同的任务学习率的初始值是需要试验几次来获得的,使用的优化器不同,mini-batch 的 batch_size 大小不同,学习率的初始值也不太相
2020-07-19 16:46:26
4100
2
stnet_keras.py
2020-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人