自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不太冷的莱昂的博客

分享自己在code世界里打怪升级的经历

  • 博客(54)
  • 资源 (2)
  • 问答 (5)
  • 收藏
  • 关注

原创 Hyper-v虚拟机和宿主机使用不同网络连接

公司要求,开发环境必须走公司的有线内网,一旦连接了该内网就彻底与百度等摸鱼工具说拜拜了,所以一般都是在电脑上安装一台windows虚拟机来开发,那么我的需求就是该虚拟机使用有线网络连接到公司内网,但它的宿主机器可以连接无线wifI连接到Internet。

2023-08-09 14:39:34 1042 3

原创 JS函数柯里化

JS函数柯里化一、函数柯里化是什么?二、应用场景一、函数柯里化是什么?比较不太好理解的官方定义就是:函数柯里化是把接收多个参数的函数,变换成接收一个单一参数的函数,并且返回接收余下的参数而且返回结果的新函数的技术。看个经典例子可能就明白了function add(x,y,z){ //平常方式 return x+y+z;} function addCurry(x){ //柯里化 return function(y){ return functi

2022-05-06 22:14:49 735 1

原创 详解JS剩余参数

剩余参数的MDN定义:剩余参数语法允许我们将一个不定数量的参数表示为一个数组。语法:function(a, b, ...theArgs) { // ...}剩余参数的本质:剩余参数是一个数组,即使没有值,也是一个空数组(function add(a, ...args) { console.log(Array.isArray(args)); //true})(1);既然剩余参数是一个数组,那就可以在它上面直接使用所有的数组方法和属性,例如:func

2022-05-06 18:26:21 1687 4

原创 手写instanceof

手写instancof,不懂你找我

2022-04-29 19:28:13 220

原创 Sublime Text添加右键打开文件及文件夹功能

没有右键打开文件和文件夹的功能是非常的不方便,在我准备大干一场前浇灭了我的编码热情,这绝对不能忍。虽然将文件拖到快捷方式的方法也能打开,但总是觉得不够便捷,还是修改一下注册表,自己实现一个右键打开的功能吧,总共就四步:新建一个文本文件,粘贴如下代码2Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\Sublime Text]@="Open with Sublime Text""Icon"="D:\\S...

2022-04-15 16:33:05 1612 2

原创 PhpStorm服务器部署详细流程

之前写过在pycharm上配置远程linux服务器开发的博文,现在又在学习前端开发,又需要用到服务器,故再次写一篇流程记录,便于日后查阅。背景:windows系统 服务器是Nginx安装在本地 首先找到PhpStorm服务器部署的设置选项,ctrl+alt+s,打开设置找到部署:第一步:新建服务器并在“连接”选项下按下图配置第二步:切换到“映射”选项,按下图配置:第三步(选做):切换至“排除的路径”选项这一选项设置的是,项目中哪些文件不想同步至服务器根目录,例如比

2022-03-28 10:38:56 2049

原创 windows11连接无线网后分享热点连接不上

一直很喜欢用电脑连接无线网再开热点的方式,一个是学校热点一次只能连接两个设备,另一个是感觉电脑发出的无线信号比较稳定。但是最近用电脑开热点发现虽然手机能连上,但是显示无网络连接,就是打不开网页,前前后后折腾了几天,发现是只要把控制面板里网络连接中连接无线网的那个网卡的共享热点按钮开启就行。如下:...

2022-01-22 12:17:06 7608 3

原创 numpy函数记录

自己在做CS231N课程的时候,经常遇到一些函数不熟悉,每次都要反复查询,故特此记录便于日后查找nprandom.choicenumpy.random.choice(a, size=None, replace=True, p=None)从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组replace:True表示可以取相同数字,False表示不可以取相同数字数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同。

2021-12-18 13:41:42 117

原创 深度学习随机划分数据集

CVer肯定都遇到过要划分数据集的问题,我在这里自己写了一个,只要你有一个所有图片的文件夹,然后将路径替换成自己的即可:# 将数据集随机划分为训练集和验证集,测试集import osimport randomimport shutilfrom tqdm import tqdmimage_path = r'E:\DCI(first)_3\DCI_Crop2\image\\' # 源图片文件夹路径mask_path = r'E:\DCI(first)_3\DCI_Crop2\mask\\

2021-12-18 13:29:05 3312 19

原创 语义分割之膨胀预测

在做语义分割实验的时候,因为我做的课题的数据集是私有医疗数据集,数据集的图片有很多公有数据集不具备的问题,一个是分辨率很高,最高的接近两万八千多两万多;另一个问题是图片的尺寸不一,小一点的图可能短边只有1440.因此这样的原图在预测阶段比较麻烦,在我总结一番之前的工作后,我在这里写了一个处理多尺寸高分辨率数据集的预测脚本,因为其中主要的思想是冗余切割,因此称之为膨胀预测。具体想法如下:**需要先将原图像按patchsize进行切割分成多个patchsize大小的小块图,再进行推理预测。然后将推理得到的结

2021-12-18 11:42:53 2866 12

原创 灰度图利用matplot显示为彩色索引图像的映射是不一定的

标题说的有点模糊,意思是将灰度图显示为彩色索引图图像,可能几张图灰度图里同样的像素值会别映射成不同的颜色,具体的映射规则不太清楚。

2021-11-04 15:18:50 548

原创 在本地浏览器查看远程服务器训练时的tensorboard

看了一些博客,总结了一种最简单,不需要额外软件和配置的方法:将服务器的端口转发到我们的本地机子上来简单来说就是以下三步:首先你的训练代码中得有关于tensorboard写入日志的操作,我这里以tensorflow为例然后在训练时写入回调即可,这里的log_dir等会儿就是tensorboard监控的文件夹,也就是说训练保存的各种参数都被写入了这个文件夹了。第一步:在远程服务器终端输入:tensorboard -- logdir=log_dir --port 6006,这里的log_d

2021-07-05 21:07:41 774

原创 tf.keras.callbacks.ModelCheckpoint保存模型出现每个step保存一次模型的情况

tf.keras.callbacks.ModelCheckpoint保存模型出现每个step保存一次模型而不是想要的一个epoch保存一次模型,或者多个epoch保存一次模型,下面是个类的官方定义:tf.keras.callbacks.ModelCheckpoint( filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', save_fre...

2021-07-03 17:07:43 2433 1

转载 Adam优化器还需要加入学习率衰减吗?

在 StackOverflow 上有一个问题Should we do learning rate decay for adam optimizer - Stack Overflow,我也想过这个问题,对 Adam 这些自适应学习率的方法,还应不应该进行 learning rate decay?论文 《DECOUPLED WEIGHT DECAY REGULARIZATION》的 Section 4.1 有提到:Since Adam already adapts its parameterwise.

2021-07-02 16:30:01 10572 14

原创 灰度图显示为伪彩色图并保存

在做语义分割的时候,最后在模型预测的时候得到的预测图是灰度图,且像素值是0到6(数据集的分割标签就是0到6),所以直接显示就是一张类似于全黑的图片,为了将不同的分割区域区分明显,可以将0到6的像素值分散到0到255之间,得到下面的图片:但是这样的效果还是不太明显,所以将其变成彩图可能是一个更好的选择,使用matplotlib可以直接将灰度图显示为彩色索引图像,如下:就是plt.imshow()函数下面介绍两种将伪彩色预测图保存到本地的方法:第一种:matplotl..

2021-06-16 16:31:09 1887

原创 图像分割中数据集处理resize的大坑!!!

最近在做语义分割,处理完数据集后训练时总是报“label out of bound”,当把Mean_IOU这个指标去掉之后能正常训练但是训练损失一直为nan,在经过一系列的检查后确定自己的代码没有问题,把目光聚焦到数据集上,终于在经过一天的搜索后,偶然看到一篇博客有类似的问题,作者指出关注一下数据集resize的时候使用的插值方式。我在处理数据集的时候只用了pillow这个处理库(这里多提一句,我们在处理图像的时候尽可能的从头至尾采用一种图像处理模块,要么全部OpenCv,要么就是Pillow或者matpl

2021-06-07 14:00:21 4312 15

原创 python 修改打印时的字体颜色和背景颜色

“字体颜色:”和“背景颜色:”即为想打印的信息,替换成自己的内容。# -*- coding:utf-8 -*-print("\033[1;30m 字体颜色:白色\033[0m")print("\033[1;31m 字体颜色:红色\033[0m")print("\033[1;32m 字体颜色:深黄色\033[0m")print("\033[1;33m 字体颜色:浅黄色\033[0m")print("\033[1;34m 字体颜色:蓝色\033[0m")print("\033[1;35m 字.

2021-06-04 23:52:59 3136 1

原创 语义分割标签npy文件保存为图片的几种方式详细讨论

拿到一个分割数据集,总共7类,里面的图片都是.npy格式,为了查看分割标签的情况,现在要将npy文件转为图片格式。首先这个数据集的标签图的像素值是0~6,单通道灰度图,所以标签如果显示成图片的话应该是类似于全黑(因为像素值太过于接近于0,人眼分不清),但是以上是我自己思考未做实验的结果,当我实际动手时发现不同的保存方式得到的结果不一。现记录如下:使用OpenCV保存:import cv2 as cvimport numpy as npdata=np.load("*****.npy")cv...

2021-05-23 13:20:46 2038 1

转载 对于矩阵操作中axis的理解,以及axis=-1的解释

1. axis的基本使用axis常常用在numpy和tensorflow中用到,作为对矩阵(张量)进行操作时需要指定的重要参数之一。设定axis=-1,0,1...,用来指定执行操作的数据如何划分。一句话解释:设axis=i,则沿着第i个下标变化的方向进行操作![1]简单例子就不举了,其他博客有很多,这里举一个稍微复杂一点的三维矩阵的例子:设embeddings是一个shape=[3,4,5]的矩阵,如下:embeddings = [[[-0.30166972 0.25741747 ...

2021-05-15 14:15:16 1202

原创 Ubuntu18.04服务器修改了/etc/profile 导致系统进入失败

今天下午被这个问题折腾了好久,一个人再实验室倒腾,现把问题及解决办法记录下来,防止以后四处搜索起因:修改了/etc/profile 里面的内容导致系统进不去,一直停留在编辑/etc/profile的页面上,想把修改的内容还原但是文件又是只读的,想要改权限又进入不了命令行,系统重启也不管用,查了下大概是说这个文件是系统环境变量很重要,不能瞎修改。解决方案:进入系统的恢复模式再进入命令行(由于进入命令行后需要root密码,我的忘了故前面多了一部分是修改管理员密码)第一部分:修改root密码.

2021-04-13 16:42:51 2659 3

原创 numpy矩阵遍历的快速方法

最近有个任务要统计一个训练集的所有图片像素的个数,总共有值为0到6的六种像素值,拿到手直接想到的就是暴力循环,代码如下: label_count = [0, 0, 0, 0, 0, 0] for file in train_labels: a = np.load(r"G:\DCI_Old\test\101-1_0.npy") a.astype(np.int64) h, w = a.shape for i in range(h): for j in ra

2021-04-12 13:08:09 4825

原创 语义分割标签彩图是索引图像

在做分割实验的时候很困惑:为什么分割图是彩色的而不是灰色的,因为不是一个像素值就可以代表一种标签代表吗,比如一张图里有六种标签,那么我在分割标签图里用0~5的像素值去表示不就行了吗?为此,我将一张mask图的内容打印如下:可以看到这张mask里面确实只有比较小的整数像素值,而且它的shape是(1150,1150),即这是一张单通道图,那么为什么把它显示出来又是有色彩的?如下图:原来这种mask是索引图像。索引图像的文件结构比较复杂,除了存放图像的二维矩阵外,还包括一个称之为颜色索引矩阵MA

2021-04-09 19:30:59 907 2

转载 训练集、验证集、测试集的划分依据

训练集、验证集、测试集作用训练集用来调试神经网络 验证集用来查看训练效果 测试集用来测试网络的实际学习能力训练集毋庸置疑,是用于模型拟合的数据样本,用来调试网络中的参数。我们容易混淆的是验证集和测试集:验证集没有参与网络参数更新的工作,按理说也能用来测试网络的实际学习能力;测试集本来也能就是用来测试效果的,按理来说也能查看训练效果。我们换个说法或者详细一些可能就会明白了:验证集(validation set): 查看模型训练的效果是否朝着坏的方向进行。验证集的作用是体现在训练的过程。举个栗

2021-04-09 14:41:45 1273

原创 CV2 imread和imwrite的易错点!

在使用cv2.imread()来读取图片时,根据网上的资料得知这个函数读取得到的是B,G,R格式,所以我自然想当然的在保存图片时先吧格式转为R,G,B,一开始代码如下:import cv2img = cv2.imread(r'D:\DeepLearningProjects\Test\DCI_Old\train\901-1_0.tiff')img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)cv2.imwrite('C:/Users/Leon/Desktop/png

2021-04-08 15:17:15 1026

转载 tf.data.Dataset中.map()

在用dataset读取tfrecord的时候,看到别人的代码里面基本都有tf.data.Dataset.map()这个部分,而且前面定义了解析tfrecord的函数decord_example(example)之后,在后面的的map里面直接就dataset.map(decord_example)这样使用,并没有给example赋值。对于这点我是百思不得其解。翻了一下午的博客论坛之后,看到一个比较合理的解释,结合我自己的理解,在这里写出来:在使用dataset = tf.data.TFRecordDa.

2021-04-07 16:40:28 942

原创 win10 登录显示0x800704cf错误代码

最近onenote笔记本又同步不了了,弹出一个错误代码:0x800704cf,百度查了一下用下面微软支持人员的方法就解决了,根据知乎上一些人的回答,因为我长期挂着代理科学·上网,某些网络设置是乱的,如果你也是使用代理冲浪的选手,不如试下下面的解决方案吧...

2021-04-05 09:51:04 3015

原创 python的glob函数

最近用到glob函数发现一个大坑,glob函数在windows环境下读取文件内容是按照一定顺序来的,但是在linux环境下glob()获取的文件内容是无序的下面这张图,左边是windows下,右边是linux下,可以看到明显右边是乱序的因为python文件那块我不是很熟,我就想到一个办法来解决上述问题:首先我把在windows下的正确路径写进一个文本文档里面,然后在linux中读取这个文本文档就ok了!...

2021-04-05 09:45:07 425

转载 Kaggle数据集快速上传至Google Colab上,速度可达70MB/S+ !!!

Kaggle提供免费的GPU,但是时间是有限制的,但是Google Colab的GPU是没有时间限制的,所以本文介绍一下如何将Kaggle数据集上传到Google Colab上,如果本地上传,实在是慢,但通过Kaggle数据API式上传,在我笔记本上,上传数据的速度能达到77MB/s;要实现数据上传,只需要在Colab笔记上依次运行下面的命令即可,亲测有效:!pip install kaggleimport jsontoken = {"username":"xxxxx","key":"xxxxx

2021-04-01 10:05:10 2561

原创 Pycharm显示浮动的“Figure”窗口

我在卸载了Pycharm的社区版改用专业版后,发现原本显示图片的figure窗口被放到SciView工具窗口了,但个人还是喜欢原先浮动的那种显示窗口,查了下原本是专业版的Pycharm支持Scientific模式,所以原先的图片显示窗口变了,下面按顺序操作即可恢复:第一步:文件---->设置第二步:工具---->Python Scientic,然后取消勾选“在工具中显示绘图”,点击应用后确认第三步:重启Pycharm,熟悉的Figure就又会回来了!...

2021-03-28 12:58:25 2472

原创 Pycharm远程连接Linux服务器进行深度学习训练(详细

Pycharm远程连接Linux服务器进行深度学习训练(详细)背景:我有一台超极本,虽然有英伟达的显卡,但是显存太小,无法进行像模像样的训练,实验室有一台linux服务器,系统是Ubuntu18.04,前几日我还想着怎么通过远程连接将服务器的桌面映射到我的本地windos本上,查了下资料可以用VNC这款软件,奈何服务器这几天抽风安装不上软件,遂搁置,本来想放弃了,想着就对着命令行开发吧,今天突然在使用Pycharm的时候想到Pycharm好像有远程连接服务器开发的功能,一查还真有,是我孤陋寡闻了。.

2021-03-25 15:37:00 2082 4

转载 PNG warning: iCCP: known incorrect sRGB profile

在跑深度学习训练的时候遇到这个错误,查找资料后大概明天是图片格式的原因,然后使用的一位博主提供的转换程序,成功的地将这个warning去除,感谢!原文在这里:https://blog.csdn.net/sirkang/article/details/111510462...

2021-01-03 18:30:24 979

转载 keras 中的 verbose

在 fit 和 evaluate 中 都有 verbose 这个参数,下面详细说一下fit 中的 verboseverbose:日志显示verbose = 0 为不在标准输出流输出日志信息verbose = 1 为输出进度条记录verbose = 2 为每个epoch输出一行记录注意: 默认为 1 ...

2021-01-03 11:31:58 233

原创 tensorflow训练时警告:BaseCollectiveExecutor::StartAbort Out of range: End of sequence

在训练的时候一直有这个警告,红红的在一堆训信息中间很突兀,之前没去管它,现在决定除掉它!简单查找消息后大概知道是迭代器到了序列末尾没有停止的原因,比如训练集大小是60000,你设置的batchsize是128,那么一个epoch中会有多少个step呢?很容易计算得到60000/128=468.75,这里出现的小数,说明最后一个step的数据不够128,从输出信息可以知道最后跑了是469个step,如下,可以看到警告信息:那么一下子就想到是不是把batchsize设置成能被训练集大小整除问题就解决了.

2021-01-02 20:52:18 1336

原创 tf.keras.utils.plot_model绘制模型结构图里网络层的第一个维度显示‘?‘

上篇文章讲到利用plot_model绘制模型结构图时只显示一个Sequentia问题的解决方案,但是一个新的问题是模型结构图里所有网络层的第一个维度显示的都是‘?’,而不是正常的‘None’,具体情况如下:经过研究解决方法是:将D:\Anaconda3\envs\tf2\Lib\site-packages\tensorflow_core\python\keras\utils文件夹的中的vis_utils.py打开,找到下面这个函数: def format_shape(shape):.

2021-01-01 14:06:16 1054 5

原创 tf.keras.utils.plot_model绘制模型结构图只显示一个Sequential

我在利用tensorflow自带的Keras高层接口绘制模型结构图时遇到一个问题,就是输出的PNG图片中只显示Sequential,如下原因是我的网络搭建的时候网络的Input_shape放在模型 的外面,具体见下面后面我把input_shape放在Sequential里面,此时输出的模型结构图就正常了,下面这样:注意这里的network.build()里面的参数为空,因为在容器里已经指定了,现在输出的模型结构恢复正常如下:好了问题解决!...

2021-01-01 13:50:13 1257 7

转载 tf.one_hot()的用法

官方文档解释one_hot( indices,#输入,这里是一维的 depth,# one hot dimension. on_value=None,#output 默认1 off_value=None,#output 默认0 axis=None, dtype=None, name=None)例子:indices = [0, 1, 2] #输入数据(是个向量)需要编码的索引是[0,1,2]depth = 3tf.one_hot.

2020-12-11 21:10:29 872

原创 CS231n作业之SVM

前面的代码不贴了,还是跟KNN那个作业一样,加载了数据集并且可视化了一下,下面贴出需要我们自己补充的:首先进入svm.ipynb,根据提示转入linear_svm.pydef svm_loss_naive(W, X, y, reg): dW = np.zeros(W.shape) # initialize the gradient as zero # compute the loss and the gradient num_classes = W.shape[

2020-11-04 20:32:09 1559

原创 cs231n作业之KNN分器

下面只会贴上需要自己完成的地方k_nearest_neighbor.pydef compute_distances_two_loops(self, X): num_test = X.shape[0] num_train = self.X_train.shape[0] dists = np.zeros((num_test, num_train)) for i in range(num_test): for...

2020-10-28 14:23:21 334

原创 plt.subplot()函数使用方法

subplot(nrows, ncols, plot_number)或者写成subplot(nrows ncols plot_number)也行(中间不用逗号,前提是只能是三位数)这个函数用来表示把figure分成nrows*ncols的子图表示,nrows:子图的行数ncols:子图的列数plot_number 索引值,表示把图画在第plot_number个位置(从左下角到右上角)...

2020-10-25 21:05:21 14002

原创 np.flatnonzero()函数和np.random.choice()函数的使用介绍

1、np.flatnonzero()函数该函数输入一个矩阵,返回扁平化后矩阵中非零元素的位置(index),也可以返回指定元素在矩阵中的位置import numpy as nparr = np.array([2,3,1,0,2,5,2])arr1 = np.flatnonzero(arr)arr2 = np.flatnonzero(arr==2)print('arr非零元素下标:{}'.format(arr1))print('arr1值为2的元素下标:{}'.format(arr2))

2020-10-25 20:56:00 1505

Java实现双色球开奖程序

Java实现双色球开奖程序

2024-01-22

Java计算器,实现了加减乘除

Java计算器,实现了加减乘除

2024-01-22

深度学习目标识别必读经典论文

在官网下载很慢,我都下载了打包在一起,有RCNN,fast rcnn faster rcnn ,yolo v1到v4

2020-12-15

cifar-10-batches数据集

cs231n配套练习的数据集 ,大小是177MB,免去认忍受慢速下载的烦恼

2020-10-25

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

TA关注的人

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