Python获取文件路径的几种用法 python获取文件路径的几种用法import os# 获取当前文件路径current_path = os.path.abspath(__file__)# 获取当前文件的父目录father_path = os.path.dirname(current_path)# 路径分隔符 / win、linux路径分割符分别为 \ /两种不同的形式print(os.path.sep)参考文献python获取当前路径os.path.seppython获取文件的绝对路径...
linux查找当前目录及其子目录下的文件 例如当前路径如下- 文件夹1- 1.png- 2.png- 子文件夹1- | - 1.png- | - 2.png- | - 3.png- 子文件夹2- | - 1.png- | - m.png- 子文件夹3- | - xx.png- | - 1.txt此时要查找文件夹1里的所有的png文件,则用以下命令实现find . -type f -name "*.png"通常在制作深度学习数据集时,希望将查找到的数据路径保存到txt文件,即可用下面的命令实现:find . -t
解决清华源,安装paddle-gpu超时报错 本文提供了使用conda安装paddle-gpu的两种方法,如下所示。1、官方清华源安装官方安装:链接conda install paddlepaddle-gpu==2.1.0 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/2、北外镜像源安装官方使用了清华源,但是许多时候网络差会报错,可以采用以下北京外国语大学的镜像源进行安装,亲测快速有效。conda install
深度学习优化技巧--label smoothing 本文都是根据以下链接所得,方便个人知识整理,详情请见原文链接:https://blog.csdn.net/neveer/article/details/91646657在分类问题中,常对类别的标签进行one-hot处理,但是one-hot存在如下的问题:无法保证模型的泛化能力,容易造成过拟合...
【数据增强】MixUp算法 概述论文链接mixup可以将不同的图像进行混合,从而扩充训练数据集,以下分别从图片和label的角度,介绍经过mixup操作后,数据和label的变化。1、混合后的图片就是将两张图片对应的元素按一定的比例进行相加:mix_img = w*img1 + (1-w)*img22、新生成的图片对应的label对于新生成的图片,分类和检测的处理方法时不一样的。(1)分类:以下是原论文给出的计算公式。示例:可以假设网络预测有三类,[猫,狗,猪]:图像xi为猫,对应的标签yi为[1, 0, 0]
python的迭代器和生成器 迭代器:python访问集合元素的一种方式,使用iter()实现生成器:一个返回迭代器的函数,通过在函数中添加yield实现具体解析链接如下:Python3 迭代器与生成器Python的生成器
刷题笔记 | C++ | LeetCode最小的k个数 题目描述:链接输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]解题思想:参考链接全局排序,O(n*lg(n))局部排序,只排序TopK个数,O(n*k)堆,TopK个数也不排序了,O(n*lg(k))分治法,每个分支“都要”递归,例如:快速排序,O(n*lg(n))减治法,“只要”递归一个分支,例如:二分查
排序算法 | 堆排序 思想:首先维护一个大根堆,即保证一个二叉树的父节点比子节点都要大然后每次大根堆最顶上的那个数与最后那个数交换,把顶端的这个数保存下来。须知:对于一个长度为len的数组nums数组中最后一个父节节点为nums[len / 2 - 1]当父节点为nums[parent],其左节点为nums[2 * parent + 1],右节点为nums[2 * parent + 2];C++实现代码:#include <vector>#include <iostream>u
刷题笔记 | C++ | LeetCode5最长回文子串 LeetCode5最长回文子串题目描述链接给你一个字符串 s,找到 s 中最长的回文子串示例:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。解题思路中心扩散法:参考链接遍历字符串,找到以当前字符为中心的回文串。注意:回文串在长度为奇数和偶数的时候,“回文中心”的形式是不一样的。奇数串:bab偶数串:abba所以回文串的中心有可能为某个字符串,也可能为字符串的间隙兼容以上两种情况:如果传入重合的索引编码,进行中心扩散,此时得
卷积操作,特征图尺寸大小、感受野、参数量的计算过程 1、卷积操作后输出特征图的尺寸大小如下图所示,卷积核在输入图像进行滑动操作,每滑动一次,计算一次,获取一个值,该值为卷积核提取的当前区域的特征值。在水平方向上,从左侧开始滑动,滑动的距离为(Input_s - Filter_s),设滑动步长为Stride,那么滑动的次数为 (Input_s - Filter_s) / Stride未滑动之前,卷积核已经在蓝色位置提取了一个值所以,在水平方向上的获得的特征图尺寸为 (Input_s - Filter_s)/ Stride + 1因此下图卷积操作
python __call__()方法 作用:使得“对象”具备当作函数,来调用的能力1、类没有__call__()方法:class Person: passp = Person()p()此时报错,p这个对象没办法当作函数使用,报错如下:Traceback (most recent call last):File “/home/xxx/test.py”, line 5, in p()TypeError: ‘Person’ object is not callable2、类添加__call__()方法:class
python装饰器 1、简介功能:在不改变函数代码的基础上,添加额外的功能,比如计时2、装饰器应用2.1 无参数函数的装饰器计算一个现有函数的运行时间,其中myfunc() 没有参数输入:import timefrom functools import wrapsdef display_time(func): # @wraps(func) def wrap_func(): 'this is wrap_func' t1 = time.time() f
排序算法 | 递归、非递归实现快速排序 C++代码实现如下:#include <vector>#include <iostream>#include <stack>using namespace std;int division(vector<int>& nums, int left, int right){ int base = nums[right]; while(left < right){ while(left < righ
刷题笔记_6 | 动态规划 | C++ | Leetcode152乘积最大子数组 Leetcode152乘积最大子数组题目描述给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。解题思路前提须知:负数x负数–>正数,正数x负数–>负数负数x较大的正数 < 负数x较小的正数,如 -2 x 3 < -2 x 2负数x较大的负数 < 负数x较小的负数,如 -2 x -3 < -2 x -5本题采用动态规划方法:对于每一个当前值nums[i],记录以其为结尾的子
刷题笔记_6 | 动态规划 | C++ | LeetCode53最大子序和 LeetCode53 最大子序和题目描述:链接给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。解题思路本题采用动态规划的方法:讨论以当前数字nums[i]为结尾,其所组成的子数组最大的加和sum[i]取决于 sum[i-1]是正还是负,sum[i] = max(sum[i-1] + nums[i], nums[i]),即:1、sum[i-1]为负数,以nums[i]结尾的最大子序和等于nums[i],因为如果加上sum[i-1],即为加上
刷题笔记_2 | 双指针 | C++ | LeetCode167 双指针用法双指针主要用于遍历数组,大多为两种用法1、两个指针移动方向相同,作为滑动窗口使用,经常用于区间搜索2、两个指针移动方向相对,可以用来搜索,待搜索的数组往往是排好序的。(此时某个指针的移动,相当于摒除了当前指针所指数字的所有组合,具体可参照本题)题目描述题目:链接给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数