- 博客(42)
- 收藏
- 关注
原创 anaconda:安装cuda和对应版本的cudnn
复现别人论文的时候经常遇到不同的cuda版本,可以使用anaconda创建虚拟环境,并在不同的虚拟环境中配置对应的cuda版本。
2023-02-23 11:48:47 5239 1
原创 js:Promise源码实现(function、原型)
① all:一个promise对象数组,只有当所有对象的状态都为resolved时,返回一个resolved的promise对象(由原数组的返回值组成);这两个函数,是我们在MyPromise中事先写好的,使用executor(resolve, reject),分配给MyPromise构造函数的两个对应参数。② race:一个promise对象数组,返回第一个执行完成的promise对象,无论成功与否。——catch相当于then的第二个方法,但是指下一个then,不是前一个then。
2022-10-08 21:07:48 880
原创 js:防抖、节流(闭包)
如果不使用闭包的话,可以把count变量声明在函数外部,变成一个全局函数。但是这样容易造成变量污染。(2)节流:一段时间内,只有第一次点击会生效,然后开始计时。类似于游戏中的技能cd。(1)防抖:类似于游戏中的回城,每触发一次,就重新读秒,直到读秒完成,才执行。是打通函数内部、外部的通道,使得外部可以。应用场景:百度搜索的输入框、词条预览。闭包会一直留存在内存中,除非手动清理。应用场景:点击按钮,发起后台请求。
2022-09-13 11:54:41 1297
原创 原型、原型链的理解
参考教程:https://www.bilibili.com/video/BV1Q64y1v7fW?p=1js中的继承,实现原理是基于原型的。明确以下几个概念:像上例中,teacher对象,可以到Teacher函数中找到 teach() 方法,到Person函数中找到 drink() 方法。为什么能够按照这样子的顺序来找呢?因为它们处于同一条原型链上!js中,万物皆对象,所以最终都会指向Object类...
2022-06-22 14:05:59 103
原创 HBuilder:安装使用Less
这个时候HBuilder就会报错啦,npm install失败解决方法找到hbuilder目录下的compile-less文件夹,手动执行 npm install怎么执行npm install呢?cmd(命令提示符),管理员身份运行(习惯了),切换到compile-less路径,npm install【我之前就设置好了淘宝镜像,所以下载会快一点】不重启不生效啊!!使得.less文件保存时,会自动生成对应的.css文件我之前找的教程,就是没有提到重启,搞了很久,记得重启!!...
2022-06-10 11:09:26 1191
原创 js:根据给定数组构造二叉树
刷题的时候经常会遇到二叉树的题,题目中给定的一般都是数组形式,可以在线调试。但是在本地编译器的话,需要转为二叉树形式才能进行代码调试。1、给定数组var root = [3,9,20,null,null,15,7];2、定义【树节点】类function TreeNode(val, level) { this.val = val; this.left = null; this.right = null;}3、构造二叉树function buildTree(val_list) {.
2022-05-19 17:42:01 924
原创 js:原始数据类型vs引用数据类型 && 浅拷贝vs深拷贝
参考:JavaScript栈内存和堆内存区别一、数据类型1、原始数据类型(6种)内存大小固定,保存在栈内存中的简单数据段,如:Number、String、Boolean、Undefined、Null、Symbol2、引用数据类型内存大小不固定,保存在堆内存中的对象,如:Object、function、Array、Date、RegExp(正则表达式)不可以直接访问堆内存空间中的位置和操作堆内存空间。只能操作对象在栈内存中的引用地址。栈内存:容量小、速度快(线性存储)堆内存:容量大、速度慢(
2022-04-26 15:21:34 321
原创 js:判断数据类型的几种方法
参考文章:JavaScript中判断对象类型的几种方法总结根据要判断的数据对象,来选用合适的方法1、原始数据类型6种:number、string、boolean、undefined、null、symbol一、typeoflet str = 'hello';console.log(typeof str); // string2、对于部分引用数据类型:object、function,也可以使用typeoflet obj = {}console.log(typeof obj); // ob
2022-04-23 11:54:22 1914
原创 个人体会:前端为什么要体系化学习?
学习前端以来,一直都没有进行体系化学习,导致学的知识点很多,但没有形成闭环,从而导致了学习流于表面,并没有真正内化,也就谈不上真正理解。一、招聘要求很多公司的招聘要求都写了,要求有扎实的html、css、js基础。框架都是其次的,主要还是得基础好。怎么才算基础扎实呢,应该就是能够构成知识闭环,可以对照网上的面经(前端八股文),看看自己是否能够答出来。二、体系化学习的方式体系化学习是构成知识闭环的有效方法,刚开始学习的时候,我们会去看教学视频、看别人的博客文章,但这些好像都没有官方文档、权威书籍来的
2022-04-22 00:00:40 1384
原创 js实现:复杂度为O(n^2)的排序算法(冒泡排序、简单选择排序、直接插入排序)
参考博客:1、各种排序算法总结(全面)2、[算法总结] 十大排序算法(假设以下算法的排序方向均是:从小到大。数组元素的个数为:n)一、冒泡排序1、原理:——待排元素个数为n(1)先把n个中,最大的元素排到最后,待排元素个数为n-1。【一个元素的位置是确定的】(2)在把n-1个中,第二大的元素排到待排元素的最后,待排元素个数为n-2。【确定了两个元素的位置】……(n-1)重复以上步骤n-1趟,直到待排元素的个数为1。【确定了n-1个元素的位置,剩下那个元素就不用确定了吧?省了一趟循环】
2022-04-17 15:55:05 976
原创 js基础:var、let、const三种类型变量的区别(变量提升、暂时性死区)
一、什么是变量提升?有两种说法:(1)变量声明会被提升到作用域的最前面,但有没有初始化呢?不在讨论范围内;(2)作用域内,在变量声明语句之前,使用该变量不会报错。如果是基于第一种定义,var、let、const都有变量提升如果是基于第二种定义,var有变量提升,而let、const没有二、3种类型变量1、var全局作用域、函数作用域(后者也叫局部作用域)全局作用域是在最外层函数以外,以下代码中,a是全局变量,b是局部变量<script> var a = "abc";
2022-04-14 16:58:32 659
原创 axios:TypeError: Cannot read properties of undefined
1、背景从api获取数据,发现无法解析该json对象中的属性值。以下是json数据的部分内容:{“content”: { “[{“id” : 1 ,\n “title” : “第一篇博客” ,\n “content” : “这是一篇美食博客,广州早茶的红米肠是我最喜欢的美食之一”,\n “type” : “food”\n}]”}}2、解决(1)打印数据类型,发现是string(2)转为objectthis.axios.get('这里是一个api').then(res=>{ /
2022-03-31 20:46:16 4461
原创 net start mysql:无法启动
可能情况:3306端口号被占用(mysql数据库的默认端口号是3306)1、查看端口号是否被占用dos窗口下查看(建议用管理员身份打开,后面可能启动服务的时候可能普通用户的权限不够)netstat -ano|findstr “3306”最后一列就是PID号(进程识别号)2、结束进程在dos窗口执行以下命令,5808是我的pid号,要换成你们的pid号!!!taskkill /pid 5808 /F如果这个dos窗口没有用管理员身份打开的话,不能杀掉进程3、执行net star
2022-03-22 20:42:24 7206 8
原创 vue初学:axios获取api的数据
1、前置知识:promise、ajax2、axios(1)安装:axios、vue-axiosnpm -install --save axios vue-axios axios是一个库,并不是vue中的第三方插件,使用时不能通过Vue.use()安装插件。有两种解决方法:1、结合vue-axios使用;2、将axios 改写为 Vue 的原型属性(这里用的是第一种方法)(2)在main.js中配置import axios from 'axios'import vueAxios from
2022-03-19 22:03:10 7980 3
原创 跨域问题:Access to XMLHttpRequest at ‘http://localhost:3001/re‘ from origin ‘http://127.0.0.1:8848‘
1、问题描述:在本地用express构建服务器端,前端访问数据。报错:Access to XMLHttpRequest at ‘http://localhost:3001/responseData’ from origin ‘http://127.0.0.1:8848’(一)app.js// 引入expressconst express = require('express');// 引入pathconst path = require('path');// 实例化expressconst
2022-03-19 09:50:25 6119
原创 vue学习笔记(一):vue devtools+简单入门程序
离线安装vue devtools1、vue devtools下载https://pan.baidu.com/s/1MtYvMPew4lb14piIrs9x6w提取码:66662、写一个简单的vue程序(这里用的是hbuilder、vue 2.x 环境,已经提前配置好vue等相关环境)(1)在hbuilder中,新建一个vue项目(2)新建helloworld.html,引入vue 2,<div>,给定了一个容器{{a}},将容器的内容绑定变量a定义value变量
2022-02-15 22:51:12 632
原创 PyG框架:Graph Classification
训练GNN用来做Graph Classification一、原理1、根据Message Passing得到每个节点的node embedding2、readout layer把所有节点的node embedding聚合成整个图的graph embedding。【文献中有很多种不同的readout layer,但最常用的是mean】【跟Node Classification的区别】:是否把每个节点的node embedding聚合成一个graph embedding?针对mini-batc
2022-01-06 10:44:49 2234 14
原创 PyG框架:mini-batch
一、mini-batch在graph classification的一些基准数据集中,每个图的样本都很小,如果每次只操作一个,不能充分利用GPU资源。所以考虑把它们分成多个mini-batch。1、原理mini-batch就是并行处理多个图,这里把多个图的邻接矩阵A1、A2、……拼接成一个大的矩阵,可以看作一个对角矩阵(出现了很多0元素,即稀疏矩阵的存储)在imgae、language领域中的mini-batch有两种方法:rescaling、padding,把每个样本都处理成一样的size、一
2022-01-05 10:48:40 2128
原创 node classification:基于torch_geometric(PyG)框架搭建简单GCN网络对Cora数据集进行训练测试
参考文章:GNN的第一个简单案例:Cora分类PyG文档之二:快速入门1、Cora数据集(1)GNN常用的数据集:https://linqs.soe.ucsc.edu/data)(2)Cora数据集是GNN中的一个经典数据集,相当于mnist数据集在CNN中的地位。该数据集是机器学习论文之间的引用网络,共有2708篇论文(即:节点数量)、7类论文(即:节点类别数)、5429条边,每个节点有1433个特征。2、torch_geometric框架(PyG)参考官方文档:https://pytor
2021-12-28 22:24:47 2018
原创 pdf合并&页面大小不一样
1、pdf合并工具知云文献翻译(没想到吧!我们用来看论文的翻译软件居然也能合并pdf!)这个软件用来看英文论文也好好用,呜呜呜。免费!不限量!下载地址:https://www.yuque.com/xtranslator/zy/gga6xa(网上的在线合并都有文件数量、页面数量限制,根本就不适用。wps客户端也是有限制。而福昕阅读器之类需要购买或者下载尝鲜版,反正挺麻烦的)2、pdf页面大小这个我真的找了好久的教程都没有解决,后来发现直接把pdf打印成另一个pdf,就可以啦!(当然不是说能按照你的
2021-11-23 21:21:37 3372
原创 二分类:评价指标(TPR、Recall、Precision、Accuracy、AUROC、AUPR)
参考:1、如何解释召回率、精确率?2、什么是真、伪阳性率【详细讲解】一、定义1、二分类情况下,有正、负样本(即:阳性、阴性)2、根据真实类别、预测类别的不同,可以大致划分为以下四种情况:1、真阳性率 TPR(True Positive Rate)也叫召回率,Recall。是指正类样本中,有多少被正确预测为正类【针对于原来样本来说的】正类样本:真阳、假阴TPR=TP/(TP+FN)区分Precision,也叫精确率。是指被预测为阳性的样本中,有多少是预测正确的【针对于预测结果来
2021-10-11 15:46:53 12750
原创 使用Google Colaboratory的GPU资源运行python代码
1、谷歌云盘把python文件、数据集什么的,存放到谷歌云盘中,运行代码可以调用在云盘目录下,右键->更多->Google Colaboratory。新建.ipynb文件(整个环境下,相当于linux中的bash,只不过命令前要加感叹号!)2、挂载在这个 .ipynb文件中,挂载谷歌云盘,才可以调用云盘中的文件from google.colab import drivedrive.mount("/content/drive",force_remount=True)点击以下链接,
2021-09-27 11:03:26 901
原创 pytorch学习笔记(一):Dataset和DataLoader
参考:https://blog.csdn.net/zw__chen/article/details/82806900一、DataLoader1、DataLoader 是 torch 给你用来包装你的数据的工具. 所以你要将自己的 (numpy array 或其他) 数据形式装换成 Tensor, 然后再放进这个包装器中.2、Dataset是一个抽象类,不能实例化,要先继承。DataLoader可以直接实例化3、Dataset有内置数据集:这些内置数据集有对应的__getitem__()和__l
2021-09-16 12:24:05 1241
原创 pycharm安装pytorch
1、pycharm终端安装(一)①按照file、setting、project、python interpreter找到解释器,如果有多个python版本,先选择想要的python版本(python2、python3);②点+,安装pytorch包测试是否安装成功2、pycharm终端安装(二)https://zhuanlan.zhihu.com/p/144544172在pycharm的命令行里用pip安装:pip install torch===1.2.0 torchvision===
2021-09-07 15:59:34 20995 2
原创 Anaconda多个python版本(python2.7 & python3.8)
虽然说,python 3.x 版本已经是主流,但是有时候需要用到的一些技术,只支持python 2.x。需要在电脑中安装多个python版本,可以使用anaconda进行环境切换。anaconda自带很多库,安装其他库的时候也很方便(比如,python 2.x 好像要先安装pip,但是在anaconda里面就不用安装pip,可以使用pip直接安装其他库)参考博文:1、Anaconda3中Python3.5和Python2.7共存:https://www.cnblogs.com/v5captain/p/
2021-07-18 20:52:23 6548
原创 汉明码 / 海明码 / Hamming Code
1、异或1 ⊕ 1 = 00 ⊕ 0 = 01 ⊕ 0 = 10 ⊕ 1 = 12、奇偶校验()奇校验:1的个数为奇数时,在前面加0;1的个数为偶数时,在前面加1.(如:1101→01101,1001→11001)偶校验:1的个数为偶数时,在前面加0;1的个数为奇数时,在前面加1.(如:1001→01001,1101→11101)3、Hamming Code参考博客1:https://www.cnblogs.com/godoforange/p/12003676.html参考博
2021-04-22 22:03:54 1284 2
原创 Latex编译时遇到的一些问题
参考博客:https://dalewushuang.blog.csdn.net/article/details/1064383171、报错Package natbib Error: Bibliography not compatible with author-year解决:
2021-04-19 16:06:22 354
原创 Gitee:git把本地文件push到云端 && 历史版本
gitee1、安装git2、上传步骤(1)在想上传的文件夹,邮件,git bash here(2)输入输入 git init 命令,初始化一个本地仓库,此命令运行完之后,会在本地创建一个 .git 的文件夹输入 git remote add origin 码云仓库地址 例如:git remote add origin https://gitee.com/你的码云用户名/你创建的仓库名.git(也可以在仓库里想要上传的位置,点击克隆,复制其下载地址)输入 git pul
2021-04-15 14:41:30 959
原创 MAVEN环境配置
MAVEN配置一、下载链接:http://maven.apache.org/download.cgi.下载第一个,解压后到某个路径(最好是纯英文路径,后续要配置环境变量)二、环境配置:(参考了太多博客,最终结果如下)1、用户变量新建%M2_HOME%\bin%MAVEN_HOME%\bin2、系统变量(1)新建M2_HOME、MAVEN_HOME两个变量,变量值是MAVEN的存放路径(2)在path里添加%MAVEN_HOME%\bin【有一些博客说到,该变量值的位置也有关
2021-03-07 20:12:50 127 1
翻译 卷积神经网络CNN——原理篇
参考文章:卷积层与池化层、机器视角:长文揭秘图像处理和卷积神经网络架构一、卷积层1、什么是卷积?卷积的基本原理每张图像对应一个特征矩阵,卷积核3*3也是一个矩阵。图像矩阵中按顺序(从左到右、从上到下)获得3*3的小矩阵,与卷积核(权值矩阵,过滤器)的对应元素相乘,得到9个数,相加,得到一个数。重复以上步骤,直到图像矩阵的全部元素遍历完。得到的数,按顺序构成新矩阵。 →“激活映射”→激活图图1 卷积层工作原理2、步长(stride):卷积核移动的距离...
2020-10-07 20:54:19 426 1
翻译 pytorch+CNN经典模型→mnist识别
参考书籍:《深度学习框架pytorch快速开发与实战》1、导入常用包import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.utils.data as Dataimport torchvisionimport matplotlib.pyplot as plt2、设置超参数BATCH_SIZE = 50EPOCH = 3LR = 0.0013、数据集下载及处理(转化为pyto
2020-10-07 20:50:02 225
原创 Android Studio连接真机测试
环境:Android Studio 1.0、荣耀手机一、手机设置我的是:【设置】—【系统】—【关于手机】— 狂点【版本号】,然后返回,就会看到【开发人员选项】,打开【开发人员选项】和【USB调试】。注意:连接电脑时,要设置手机是可以【传输文件】二、Android Studio设置1、修改设置2、选择usb device,确定然后直接点【运行】就可以啦!会在手机上出现这个app,默认的安卓图标。即使拔掉usb线,仍然可以使用该应用。...
2020-06-07 23:54:40 453
翻译 古典密码:playfair(Java实现)
(之前做实验的时候用到的,参考了网上的一些代码,最终还是想记下来,希望能够对别人有一点点帮助吧。代码有点累赘,懒得改了)playfair算法Playfair是最著名的多字母代替密码,它把明文中的双字母音节作为一个单元并将其换成密文的双字母音节。而且,利用频率分析字母对就更困难一些。算法原理:Playfair算法是基于一个由密钥词构成的5*5字母矩阵,填充矩阵的方法是:首先将密钥词(去掉重复...
2019-01-19 22:51:28 3900 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人