- 博客(137)
- 收藏
- 关注
原创 linux解压rar文件
首先安装rarlinux命令# wget http://www.rarlab.com/rar/rarlinux-x64-5.0.0.tar.gz# tar -zxvf rarlinux-x64-5.0.0.tar.gz# mv rar /opt/# cd /opt/rar/# make && make install解压命令:unrar x test.rar path/to/yyy/注意:路径后面有一个/此命令解压完之后直接将压缩包中的内容解压到path/to/
2022-03-25 16:05:59
1989
原创 tensorboard使用:仅保留平滑曲线 & 更改默认图线颜色
打开tensorboard里面有自己生成的各种曲线图此时注意勾选show data download links点击下载下载SVG文件使用VSCode打开SVG文件在path后这里更换颜色将某个path全部删除,则该曲线也消失更改后如图所示...
2022-03-18 17:24:16
4117
3
原创 ClobberError: This transaction has incompatible packages 或者The package ‘xxx‘ cannot be installed due
下载pytorch的时候报错:原因:conda和pip等相关包的版本太低,自动更新不能用。解决方案:在命令行中输入以下命令:conda clean --allconda update --all
2022-02-04 12:10:28
12891
3
原创 AutoDL算力平台租用GPU服务器+VSCode远程开发同步代码
文章目录一、关于租GPU服务器二、使用XShell连接刚租的服务器三、VSCode远程开发四、VSCode+SFTP插件实现远程代码同步一、关于租GPU服务器理由: 便宜好用,性价比高https://www.autodl.com/market/list按量计费:就可以理解成按小时计费,不管你用没用GPU,只要开机,就按照小时收钱。按量计费如果关机后,其他人可能会用卡,也就意味着,其他人把这台服务器的卡全占了,你就不能开机了。按量计费关机之后再开机,里面的数据不会消失,仍在,系统会把你的数据保留
2022-02-03 23:43:00
5777
1
原创 win10/win11+NVIDIA MX350笔记本自带显卡+CUDA10.2+Python3.6+Anaconda3从零开始配置深度学习环境
文章目录一、安装CUDA二、安装cuDNN三、安装Python四、安装Anaconda3五、配置其他环境一、安装CUDA1. 打开英伟达控制面板。或在任务栏右下角,或自己找2. 点击帮助–>系统信息–>组件,查看自己的显卡支持什么型号的CUDA,这里是CUDA10.23. 在英伟达官网下载对应的CUDA版本网址:https://developer.nvidia.com/cuda-toolkit-archive注意:这里最好选local版,网络版经常安装不成功。报错:nvid
2022-02-03 10:32:15
6423
原创 CUDA报错:unknown error - this may be due to an incorrectly set up environment, e.g. changing env varia
跑深度学习代码的时候发现没在用cuda显卡跑,而是自己默默换成了cpu下面是问题的解决思路进入python环境以及torch环境,通过torch.cuda.is_available()查看cuda是否存在。正常情况下结果应为true时代码才会用显卡来跑。此时,发现了报错:CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBL
2022-01-20 10:25:05
6708
原创 dbnet代码运行要点
1. 关于数据集预处理把训练数据train和测试数据test的img和gt,放到datasets文件夹下,或者其他文件夹中也可以,代码中写出数据集所在位置的绝对路径即可。将训练数据和测试数据生成如下图的格式:参考文献生成train.txt和test.txt,保存到datasets文件夹下(必须也把test.txt也生成)。生成文件的代码如下:import osdef get_images(img_path): ''' find image files in data
2021-12-29 16:27:37
2164
1
原创 配置深度学习anaconda环境以及pycharm中使用环境
此处省略anaconda下载安装、nvidia驱动下载、显卡准备等等步骤一、新建conda虚拟环境1.创建新的环境conda create -n 新名字 python=3.62.激活虚拟环境source activate 新名字扩展:查看python版本号python -V二、进入conda某环境并配置环境1.查看conda中已有的环境conda info -e2.进入某conda环境conda activate 某环境名字3.配置环境,下载包,或删除包pip inst
2021-12-28 16:52:45
1096
原创 前后端项目手动部署至服务器
1. 在服务器上配置环境需要安装JDK、Mysql、Nginx可以手动安装以上环境,也可以先安装docker后再拉镜像安装以上环境2.安装完mysql后,在navicat中连接远程数据库若连接失败,若是使用docker安装的,则排查方式:查看docker中mysql容器运行情况3.更改nginx安装目录下的conf文件夹下的nginx.conf配置文件第一行,将user设置为root配置代理路径使nginx配置文件生效/usr/local/nginx/sbin/nginx -s rel
2021-11-27 15:59:31
4869
原创 Linux离线安装nginx及其他依赖环境(无网络的情况下)
前情提要:在一台没有网络的linux服务器上安装nginx参考文献中有安装包1. 准备安装包解压之后2.新建文件夹/usr/local/nginx将解压出来的以上5个东西放在nginx文件夹下3. 安装gcc进入gcc文件夹,执行:rpm -Uvh *.rpm --nodeps --force再进入到gcc-c++文件夹,执行:cd /usr/local/src/nginx/gcc-c++执行以下命令,表示安装:rpm -Uvh *.rpm --nodeps --force
2021-11-27 15:36:20
4788
原创 Linux手动安装Mysql教程(踩坑实录,良心完整版手把手教学)
前情提要:要在CentOS7服务器上部署项目,又因为服务器不能联网,所以无法安装docker以及使用docker拉镜像安装mysql,所以要学习一下通过安装包手动安装mysql。本教程的参考文献:Codesheep1. 准备安装包常用的版本为5.7或8.0(这里有坑后续说,尽量下载自己在win环境中项目常用的版本,否则在linux服务器上会有高低版本不适配的bug出现)这里下载的是 mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 安装包,放在linux中的/.
2021-11-26 21:32:28
2717
8
原创 Element-UI 中 el-table 树形数据 tree-props使用避坑
element官网提示设置tree-props为{children: 'children',hasChildren: 'hasChildren'},data数据需要设置children和hasChildren属性,row-key也绑定了数据的唯一值变量id,但是树形结构就是出不来在el-table中,支持树类型的数据的显示。当 row 中包含 children 字段时,被视为树形数据。渲染树形数据时,必须要指定 row-key。支持子节点数据异步加载。设置 Table 的 lazy 属性为 true.
2021-11-22 14:47:01
23570
8
原创 JS中从数组中的对象取出特定字段并生成新的数组
var arr = [ { 'id': '1', 'name': 'lala' }, { 'id': '2', 'name': 'lili' }, { 'id': '3', 'name': 'lulu' }];arr.map(x => {return x.name}) // 生成数组
2021-11-22 14:31:13
4688
原创 解决报错: IDEA:java: 程序包sun.misc不存在 或import sun.misc.BASE64Decoder无法找到
将JDK改为1.8即可
2021-11-22 09:50:19
1859
原创 Linux使用Docker安装Oracle-11g-xe
1. docker中查找镜像docker search oracle2. docker拉镜像docker pull docker.io/oracleinanutshell3. 创建docker容器,并命名为oracle,并运行docker run --name oracle -d -v /home/docker/data/oracle_data:/data/oracle_data -p 49160:22 -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true doc
2021-11-19 10:13:56
1523
原创 Linux中使用Docker安装Redis(拒绝踩坑)
拉镜像docker search redisdocker pull redis新建挂载文件夹(路径自己定即可)mkdir -p /root/docker/redis/datamkdir -p /root/docker/redis/conf进入刚创建的 conf目录下,输入 "vim redis.conf"创建一个redis.conf文件,并将下面内容写入(配置保护、持久化、密码)或者在xftp中可视化新建文件。#bind 127.0.0.1 //允许远程连接protected.
2021-11-11 22:53:34
2108
原创 Linux中安装Docker 以及 用Docker安装MySql踩坑实录
为什么要用docker方式安装mysql? 参考文献直接安装mysql的话,还需要自己设置相关的设置,有点麻烦,docker的一键安装比较方便,docker还可以安装其他的软件,例如redis、mongodb等众多软件,用起来也方便,当然,也可以自己定义docker,用自己配置好的docker容器,这部分这里没有介绍到,有兴趣的可以去了解下。一、安装Docker安装dockeryum install -y docker开启docker服务systemctl start docker.
2021-11-11 17:39:02
1966
原创 mysql命令行操作报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show databases原因:分号写成中文分号,必需要改成英文分号
2021-11-11 16:12:50
40235
6
原创 Linux 安装JDK8、Nodejs
下载Linux JDK8安装包,官网或云盘资源。官网需要账号。下载的格式如图。下载一个就可以了。在linux系统中/usr/local路径下新建java文件夹,并使用xftp将在自己电脑下的jdk安装包拖入linux系统中刚刚新建的java文件夹中。新建java文件可以使用命令行,也可以直接在xftp中可视化界面中新建。如用命令行,命令如下:mkdir /usr/local/javacd /usr/local/java在java文件夹中解压安装包tar -zxvf jdk-8u.
2021-11-11 10:34:50
1171
原创 前端传参无误的情况下仍获取不到数据列表
当前端给后端传递参数都没有问题的情况下,仍然获取不到数据时:1.首先,可以通过断点或者输出语句判断前端是否将参数数据传递给后端,若后端正确接收到了前端传递的参数,此时,就不关前端的事了!2.查看后端代码是否有错。3.出现过的错误:避坑:工程resources文件夹中的mapper对应的xml文件中,查询语句可能出现错误。...
2021-11-03 15:12:20
671
1
原创 通过反向代理实现同一个前端调用不同服务端口的服务
proxyTable: { /*先需要请求登录,注意先后顺序*/ '/xhr': { target: 'http://localhost:9010', //设置调用接口地址和端口号别忘了加http changeOrigin: true, // pathRewrite: { // '^/api': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替 /.
2021-11-03 15:07:23
1326
原创 JavaScript 数组&字符串:交换数组中两数或者两字符串
交换数组中两数或者两字符串不允许定义新变量不允许使用ES6语法字符串做法:function swap(arr){ arr[0]=arr[0]+arr[1]; arr[1]=arr[0].slice(0,arr[0].length-arr[1].length); arr[0]=arr[0].slice(arr[1].length); return arr;}console.log(swap(['x','y']));数字做法:function swap(arr)
2021-08-26 10:30:02
419
原创 JavaScript 数组:数组乱序-洗牌算法【思路与知识点总结】
将数组乱序思路:从最后一个元素开始,从数组中随机选出一个位置,交换,直到第一个元素。function disorder(array) { const length = array.length; let current = length - 1; let random; while (current >-1) { random = Math.floor(length * Math.random());//随机下标 [a
2021-08-20 10:11:58
375
原创 树:路经总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。思路sum : 从根节点到叶子节点的路径上的节点值相加的目标和对 root 递归。转为判断:root 的左、右子树中能否找出和为 sum - root.val 的路径就变成一个规模小一点的相同问题即,每遍历一个节点,sum 就减去当前节点值,当遍历到叶子节点时,已经没有子节点了,如果 sum - 当前叶子节点值 ==
2021-08-19 14:53:49
85
原创 JavaScript 树&数组:树转数组 以及 数组转成树
//数组var array = [ { pid: null, id: 1 }, { pid: 1, id: 2 }, { pid: 1, id: 5 }, { pid: 2, id: 3 }, { pid: 2, id: 4 }]//树var tree = [{ pid: null, id: 1, children: [{ pid: 1, id: 2, children: [{
2021-08-18 23:12:31
481
原创 回溯:组合总和
力扣39:组合总和给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为 target 的唯一组合数少于 150 个。https://blog.csdn.net/qq_42999949/article/details/119713941?spm=1001.2014.
2021-08-15 16:15:24
138
原创 回溯:组合
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。回溯三部曲:递归函数的返回值以及参数回溯函数终止条件单层搜索的过程本题思路:首先定义一个结果数组,根据题意,res应是一个二维数组。由于我们递归需要参数startIndex(用来记录下一层递归,搜索的起始位置),所以在内部写一个递归搜索的函数search。递归函数内包含两个参数,一个是startInedx,另一个是path用来存放符合条件结果,path是个一维数组。为什么要有这个
2021-08-15 15:35:49
289
原创 树:二叉树的层序遍历 & 求二叉树宽度
// 1// / \// 2 3// / / \// 4 5 6// / \// 7 8var tree = { value: 1, left: { value: 2, left: { value: 4 } }, right: { value: 3, left: { va.
2021-08-11 15:21:10
89
原创 数学:约瑟夫环:圆圈中最后剩下的数字
解题思路以题目给的代码为例0、1、2、3、4 ,n=5,m=3第一轮:0 1 2 3 4 0 1 2 3 4,删除2,此时3的下标为(0 + 3) % 5 = 3第二轮:3 4 0 1 3 4 0 1,删除0,此时3的下标为(1 + 3) % 4 = 0第三轮:1 3 4 1 3 4,删除4,此时3的下标为(1 + 3) % 3 = 1第四轮:1 3 1 3,删除1,此时3的下标为(0 + 3) % 2 = 1第五轮:3,此时3的下标为0倒着就可以推出规律为pos=(pos+m)%n时间复.
2021-08-09 15:36:30
111
原创 动态规划:最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路:新建一个额外的 dp 数组,与原矩阵大小相同。在这个矩阵中,dp(i,j) 表示从坐标 (i, j)到右下角的最小路径权值。我们初始化右下角的 dp 值为对应的原矩阵值,然后去填整个矩阵,对于每个元素考虑移动到右边或者下面,因
2021-08-09 15:16:08
255
原创 动态规划:最大子序和
思路:动态规划重点在于遍历方式:以子序列的结束节点为基准,先遍历出以某个节点为结束的所有子序列,因为每个节点都可能会是子序列的结束节点,因此要遍历下整个序列,如: 以 b 为结束点的所有子序列: [a , b] [b] 以 c 为结束点的所有子序列: [ a, b, c ] [b, c] [ c ]。因为我们通常的惯性思维是以子序列的开头为基准,先遍历出以 a 为开头的所有子序列,再遍历出以 b 为开头的…但是动态规划为了找到不同子序列之间的递推关系,恰恰是以子序列的结束点为基准的,这点开阔了我们的..
2021-08-08 20:19:08
365
原创 JavaScript 数组:三数之和——找出所有和为 0 且不重复的三元组【思路与代码】
思路一:暴力法,但是超时不AC思路:三层循环,找到所有和为0的三元组,然后再进行二维数组的去重。知识点:一维数组肯定用ES6语法 Set来进行去重,但是不可以用到二维数组上。//二维数组的去重:哈希的方法function Deduplicate() { let tmp = [ [1, 1, 2], [1, 1, 2], [3, 4, 5] ]; let hash = {};..
2021-08-08 19:57:33
1607
原创 JavaScript 数组:二维数组去重
哈希法:https://blog.csdn.net/weixin_34395205/article/details/89133619function Deduplicate() { let tmp = [ [1, 1, 2], [1, 1, 2], [3, 4, 5] ]; let hash = {}; let res = []; for (let i
2021-08-08 16:07:10
392
原创 JavaScript 字符串:字符串相加
思路:因为本题不能使用任何 BigInteger库,所以我们可以使用双指针来模拟人工计算,步骤如下:(1)创建指针 i 指向 nums1末位数字,j 指向 nums2末位数字。(2)i, j 数字相加,用进位就用 carry 来记录进位值,无则为 0。(3)若产生进位,则当前数字为 (i+j)%10 的值。(4)若遍历过程中,nums1 或 nums2 当前已无数字,则用 0 补位来计算。functon addStrings(num1, num2) { let i = num1.le.
2021-08-08 15:17:00
1432
原创 动态规划:股票收益问题
题目一:只交易一次给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。输入:[7,1,5,3,6,4] 输出:5 (6-1=5)解题思路首先我们需要写出状态转换方程,那以什么为状态呢?题目要求最大利润,我们可以定义f(i)为 在第i天时股票可以获取的
2021-08-07 08:46:10
365
原创 JavaScript 数组:最短子数组(和大于等于n)滑动窗口双指针【思路与代码】
思路:(1)定义左右两个指针,一开始都指向头部。(2)右指针遍历数组。(右指针没走到头,就一直遍历)(3)若找到满足条件的子数组,记录min,并将左指针右移1。(4)若还满足条件,继续右移左指针,更新min,一直到不满足条件为止。(5)然后右指针继续遍历。重复3、4步骤(6)右指针遍历完毕后,结束。返回min。//注释版function minSubArrayLen (target, nums) { // 数组长度 const len = nums.length; ..
2021-08-06 16:40:50
310
原创 JavaScript 链表:判断链表是否有环【两种方法,思路与知识点总结】
思路一:一个走两步,一个走一步,如果链表中有环,必会相遇。function hasCycle(head) { let one=head; let two=head; while(two!=null&&two.next!=null){ one=one.next; two=two.next.next; if(one===two){ return true; } } ..
2021-08-05 14:55:26
1299
原创 JavaScript 数组:找出数组中哪两个数交换顺序了【思路与代码】
//给定一个排序数组//输出里面交换顺序的是哪两个数字//例:输入:[2,6,4,5,3]//输出:2 5//因为第二个数和第五个数交换顺序了思路:左右两个指针,分别向里缩进,找出第一个反序的数字,推入结果数组。let arr=[2,6,4,5,3,9,10,11]let res=[];let left=0;let right=arr.length-1;while(left<arr.length+1){ if(arr[left]>arr[left+1]){
2021-07-31 21:39:20
350
原创 JavaScript 数组:螺旋矩阵 【思路与代码】
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。思路:判断出路线都是有固定方向的 先→再↓再←再↑再→…一直循环到没数字因此定义4个方向边界 当触及边界时即按固定方向转向 且其对应的边界值向内收缩1若没触及边界 即按自身方向继续行走 改变坐标值直到触边界/数字全部遍历过function spiralOrder (matrix) { let res=[],i=0,j=0; let m=matrix[0].length-1,n=ma
2021-07-30 23:04:59
403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人