- 博客(153)
- 收藏
- 关注
原创 二叉树——701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点、669. 修剪二叉搜索树
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。你可以返回 任意有效的结果。
2024-03-14 20:24:29 207
原创 二叉树——501.二叉搜索树中的众数、 236. 二叉树的最近公共祖先、235. 二叉搜索树的最近公共祖先
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。如果树中有不止一个众数,可以按 任意顺序 返回。
2024-03-11 23:02:39 397
原创 二叉树——700. 二叉搜索树中的搜索、98. 验证二叉搜索树、530. 二叉搜索树的最小绝对差
你需要在 BST 中找到节点值等于 val 的节点。返回以该节点为根的子树。如果节点不存在,则返回 null。给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。给定二叉搜索树(BST)的根节点 root 和一个整数值 val。
2024-03-05 22:36:04 342
原创 二叉树——从中序与后序遍历序列构造二叉树、654. 最大二叉树
给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树。给定一个不重复的整数数组 nums。
2024-03-04 20:34:12 172
原创 二叉树——二叉树所有路径、112. 路径总和、513. 找树左下角的值
给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。
2024-02-29 23:09:44 217
原创 二叉树——翻转二叉树 、对称二叉树、二叉树的节点个数、平衡二叉树
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。给你一个二叉树的根节点 root , 检查它是否轴对称。
2024-02-27 23:24:32 226
原创 Leetcoed 双指针
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。
2023-12-21 21:11:45 79
原创 ubuntu18.04 安装企业微信
一.Ubuntu18.04安装企业微信1.安装git工具sudo apt install wget g++ git2.安装deepin-winegit clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git切换到下载目录cd deepin-wine-for-ubuntu执行安装sudo ./install.sh3.下载安装包http://packages.deepin.com/deepin/pool/non-free
2022-05-20 13:53:09 2813 1
原创 神经网络——梯度消失与梯度爆炸
(1)梯度不稳定问题什么是梯度不稳定问题:深度神经网络中的梯度不稳定性,前面层中的梯度或会消失,或会爆炸。原因:前面层上的梯度是来自于后面层上梯度的乘乘积。当存在过多的层次时,就出现了内在本质上的不稳定场景,如梯度消失和梯度爆炸。(2)梯度消失原因:例如三个隐层、单...
2021-09-17 13:09:01 278
原创 Yolov1-->Yolov2-->Yolov3-->Yolov4 重点难点详解
Yolov1算法Inference推理过程Yolov2算法Batch NormalizationYolov3算法Make Yolov3 Better:Yolov4算法:Mixup
2021-09-17 00:06:51 266
原创 深拷贝和浅拷贝
可变对象: 列表、字典、集合不可变对象: 数字、字符串、元组可变对象: 一个对象在不改变其所指向的地址的前提下,可以修改其所指向的地址中的值。不可变对象: 一个对象所指向的地址上值是不能修改的,如果你修改了这个对象的值,那么它指向的地址就改变了,相当于你把这个对象指向的值复制出来一份,然后做了修改后存到另一个地址上了。浅拷贝: 拷贝出来的新对象的地址和原对象是不一样的,但是新对象里面的可变元素(如列表)的地址和原对象里的可变元素的地址是相同的。...
2021-09-15 12:48:33 126
原创 Pytorch实现ResNet结构
Resnet-18 和 Resnet-34代码:class BasicBlock(nn.Module): expansion = 1 def __init__(self, in_channel, out_channel, stride=1, downsample=None, **kwargs): super(BasicBlock, self).__init__() self.conv1 = nn.Conv2d(in_channels=in_channel, out_channels=.
2021-09-08 00:00:26 853
原创 yolov3-spp部分新增点解析
Mosaic图像增强BN能一次性统计多张图片的参数: 相当于batchsize是原来的4倍,这样得到的均值和方差更接近与整个数据集的均值和方差,其效果就越好。SPP模块CIOU的由来:u:预测框和真实框的并集...
2021-09-07 23:33:29 230
原创 CV领域注意力机制的使用
SeNet(Squeeze-and-Excitation Network)考虑了特征通道之间的关系,在特征通道上加入了注意力机制。SEnet通过学习的方式自动获取每个特征通道的重要程度,并且利用得到的重要程度来提升特征并抑制对当前任务不重要的特征。SEnet通过Squeeze模块和Exciation模块实现所述功能。如上图所示,首先作者通过squeeze操作,对空间维度进行压缩,直白的说就是对每个特征图做全局池化,平均成一个实数值。该实数从某种程度上来说具有全局感受野。作者提到该操作能够使得靠近数据输入
2021-09-06 22:33:44 499 1
原创 ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
解决办法:apt-get install -y libglib2.0-0 libsm6 libxext6 libxrender-dev
2021-09-03 14:26:40 1131 1
原创 tensorflow object detection api v1训练自己的数据集详细教程
1. 安装拉取镜像docker pull nvcr.io/nvidia/tensorflow:21.02-tf1-py3启动容器container_name=tf21.02docker run -itd –name {container_name} -v /workspace:/workspace nvcr.io/nvidia/tensorflow:21.02-tf1-py3 /bin/bash进入容器docker exec -it {container_name} /bin/
2021-08-29 21:10:31 312
原创 pycharm远程访问docker容器
1. 建立一个新的容器docker run -p 8022:22 -v /home/zg/Mycode:/home --name="tensorflow1" -itd nvcr.io/nvidia/tensorflow:20.08-tf1-py3 /bin/bash2. 进入容器docker exec -it tensorflow1 /bin/bash3. 安装ssh和vimapt-get updateapt-get install openssh-serverapt-get ins
2021-08-24 16:00:37 247 4
转载 Yolo系列算法Darknet框架 cfg配置文件解析
Yolo系列算法Darknet框架 cfg配置文件解析[net] ★ [xxx]开始的行表示网络的一层,其后的内容为该层的参数配置,[net]为特殊的层,配置整个网络# Testing ★ #号开头的行为注释行,在解析cfg的文件时会忽略该行# batch=1# subdivisions=1# Trainingbatch=64 ★ 这儿batch与机器学习中的batch有少
2021-08-17 20:41:26 426
原创 RCNN--->Fast RCNN--->Faster RCNN算法学习总结
RCNN算法RCNN算法流程可分4个步骤:一张图像生成1k~2k个候选区域(使用Selective Search方法)。对每个候选区域,使用深度网络提取特征。特征送入每一类的SVM分类器,判别是否属于该类。使用回归器精细修正候选框位置。1. 候选区域的生成利用Selective Search算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。2. 对每个候选区域,使用深度网络提取特征将2000候选区
2021-08-15 21:57:00 401 1
原创 yolov4模型经tensorrt加速
1.下载必要的脚本git clone https://github.com/wang-xinyu/tensorrtx.gitgit clone -b archive https://github.com/ultralytics/yolov3.git将以上两个脚本放置同一目录下;或者采用笔者上传整理好的脚本文件链接地址:2.配置环境下载pytorch离线安装包,放置pkg目录下。 torch-1.6.0-cp36-cp36m-linux_aarch64.whl下载torchvision源码库
2021-08-11 22:21:17 1306
原创 linux系统下升级pip
1.下载pipwget https://bootstrap.pypa.io/get-pip.py2.执行pyrhon脚本python3 get-pip.py
2021-08-10 11:00:46 1670
原创 linux系统中安装opencv-python出现问题的解决办法
安装opencv-python出现错误ModuleNotFoundError: No module named 'skbuild'解决办法pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-build但依旧可你报错Problem with the CMake installation, aborting build. CMake executable is cmake继续安装cmakepip3 install
2021-08-10 10:41:58 852
原创 Anaconda创建虚拟环境、下载等指令都不能用的时候
报错情况$ conda update anaconda-navigatorSolving environment: failed# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<
2021-07-27 22:09:03 863
原创 神经网络中的Batch Normalization
1. 什么是Batch Normalization?Batch Normalization(批标准化):它的功能是使得输入的X数据符合同一分布,从而使得训练更加简单、快速。一般来讲,Batch Normalization会放在卷积层后面,即卷积 + BN层 + 激活函数。2.Batch Normalization1、对输入进来的数据X进行均值求取。2、利用输入进来的数据X减去第一步得到的均值,然后求平方和,获得输入X的方差。3、利用输入X、第一步获得的均值和第二步获得的方差对数据进行归一化,即
2021-07-23 14:08:06 730
原创 浅层的网络更关注于细节信息,高层的网络更关注于语义信息
**浅层网络:**一般感受野较小,能够利用更多的细粒度特征信息,而且此时特征图每个像素点对应的感受野重叠区域还很小,早就保证了网络能捕获更多细节。**深层网络:**随着下采样或卷积次数增加,感受野逐渐增加,感受野之间的重叠区域也不断增加,此时的像素点代表的信息是一个区域的信息,获取的是这块区域或相邻区域之间的特征信息,相对不够细粒度。一张图片,经过深层网络处理后图片就会模糊了,然而浅层网络处理则不会模糊。对于模糊图片,我们想看出来里面是什么,一般就是通过整体信息来推测,比如说:整体轮廓;然而对于高清图片
2021-07-22 15:34:13 3318
原创 t: error while loading shared libraries: libcudart.so.10.1: cannot open shared object file
解决办法:cp /usr/local/cuda-10.1/lib64/libcudart.so.10.1 /usr/local/lib/libcudart.so.10.0 && ldconfig
2021-07-07 21:51:17 502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人