再见小破电
...
讲讲各个编程语言的特点
目前呢,市面上主流的编程语言有 PHP、Java、Python、C、C++、JavaScript等,这些语言呢也是各有千秋,今天呢,就用简短的话语细数一下他们的特点。 PHP:没有优点 Java:库多,库多,库多 Python:语法清楚,语法清楚,语法清楚 C:能操纵底层,能细粒度优化性能 C++:啥都有,啥都有,啥都有 汇编: C语言: Java: C#: PHP: Python: Go: Haskell: Lisp: 最后是 C++:
关于 pandoc exited with code null 的解决方案
今天在写博客的时候,渲染的时候发生了一些问题,主要报错如下 1[ERROR][hexo-renderer-pandoc] pandoc exited with code null. 看了一些博主的方案,也进行了尝试,但是结果并不是很好,但是自己经过摸索还是解决了,便是来写一下相关的解决方案。 第一种是将 hexo-renderer-pandoc 卸载 1npm remove --save hexo-renderer-pandoc 但是呢,卸载之后,hexo 的渲染器就需要重新装配,不符合我的需求。 第二种则是在 Linux 之下的的一个官方的解决方法: 1234567891011name: Simple Usageon: pushjobs: convert_via_pandoc: runs-on: ubuntu-18.04 steps: - uses: docker://pandoc/core:2.9 with: args: "--help" # gets appended to pandoc...
tensorflow入门
首先是 tensorflow 及其相关包的安装,作者本人使用的是 miniconda,安装命令如下 1234567conda create -n 'tensorflow'activate tensorflowconda install -c conda-forge tensorflowconda install scikit-learnconda install -c conda-forge pandasconda install -c conda-forge matplotlibconda install -c conda-forge seaborn 代码仓库为 deeplearning-ai 的 1git clone https://github.com/https-deeplearning-ai/tensorflow-1-public 首先要讲一下机器学习和传统编程的区别,传统编程在于通过输入规则和数据,得到结果;机器学习则是通过输入结果和数据,得到规则,即如下图所示 首先可以做一个例子 x = -1, 0, 1, 2, 3, 4 y = -3,...
关于 torch.nn.CrossEntropyLoss 的计算
torch中计算损失函数时,会使用到名为 CrossEntropyLoss 的交叉熵损失函数,这个函数的公式为: \[ \begin{aligned} loss(x,class)&=−log\frac{∑_jexp(x[j])}{exp(x[class])}\\ &= −x[class] + log(∑_jexp(x[j])) \end{aligned} \] class 表示该样本的分类,x[j] 表示预测函数的第 j 个输出,关于此公式的解释如下: 假设我们的预测函数的输出如下 \[ [[0.0541, 0.1762, 0.9489 ], [−0.0288, −0.8072, 0.4909]] \] 假设我们的应该的分类如下 \[ [0,2] \] 即第一个样本为类别class=0,第二个样本为类别class=2 那么 loss 函数则为:...
关于 Couesrea 奖学金的申请
Coursera是免费大型公开在线课程项目,由美国斯坦福大学两名计算机科学教授创办。旨在同世界顶尖大学合作,在线提供免费的网络公开课程。Coursera的首批合作院校包括斯坦福大学、密歇根大学、普林斯顿大学、宾夕法尼亚大学等美国名校。 Coursera与另外1达成合作协议。其课程报名学生突破了150万,来自全球190多个国家和地区,而网站注册学生为68万。注册124门课程。目前新增的大学包括了佐治亚理工学院、杜克大学、华盛顿大学、加州理工学院、莱斯大学、爱丁堡大学、多伦多大学、洛桑联邦理工学院 - 洛桑(瑞士)、约翰·霍普金斯大学公共卫生学院、加州大学旧金山分校、伊利诺伊大学厄巴纳 - 香槟分校以及弗吉尼亚大学。 除了免费课程之外还有一些付费性质的课程,但是也会有相应的课程福利,比如提供运算的服务器之类的。但是费用可能较为高。毕竟是学生嘛,Coursera也是提供了一套完整的助学金申请方案,可以用于助学金申请。 于是乎,就做了一个助学金申请模版 I am very interested in this course. I believe that this course...
手写Promise
初始结构 我们在 New 一个 Promise 里的时候肯定是需要传入参数的,不然这个实例用处不大,而这个参数我们知道是一个函数,而且当我们传入这个函数参数的时候,这个函数参数会被自动执行。 因此我们需要在类的 constructor 里面添加一个参数,这里就用 func 来作为形参,并且执行一下这个参数,接下来需要为这个函数参数传入他自己的参数,也就是 resolve 和 reject,原生的 Promise 里面可以传入 resolve,reject 两个参数,那么我们也得允许手写这边可以传入这两个参数。 12345class Promise { constructor(func) { func(resolve,reject); }} 但是这样写明显有问题,因为手写这边不知道在哪里调用 resolve 和 reject 这两个参数,毕竟 resolve 和 reject 还没有定义。因此,就需要创造出这两个对象,有一点我们要知道的是,resolve、reject 也是以函数的形式来执行的,我们在原生...
关于npm和yarn
什么是 NPM NPM(全称Node Package Manager,即node包管理器) 是Node.js默认的、以JavaScript编写的软件包管理系统 npm 来分享和使用代码已经成了前端的标配 官网: https://www.npmjs.com npm被全球超过1100万开发人员所依赖 拥有超过一百万个软件包,是世界上最大的软件注册表 安装NPM npm是Node.js默认的软件包管理系统 安装完毕node后,会默认安装好npm npm本身也是基于Node.js开发的软件 下载Node: http://nodejs.cn NPM 的使用 123456789101112131415161718192021222324npm -v #通过查看版本,看npm是否安装成功npm install <Module Name> #使用 npm 命令安装模块npm install <Module Name> -g #可以直接在命令行里使用npm list -g #查看所有全局安装的模块npm list vue...
关于Git
版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的历史记录 组织和保护你的源代码和文档 统计工作量 并行开发、提高开发效率 跟踪记录整个软件的开发过程 减轻开发人员的负担,节省时间,同时降低人为错误 简单说就是用于管理多人协同开发项目的技术。 没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。 无论是工作还是学习,或者是自己做笔记,都经历过这样一个阶段!我们就迫切需要一个版本控制工具! 常见的版本控制工具 主流的版本控制器有如下这些: Git SVN(Subversion) CVS(Concurrent Versions System) VSS(Microsoft Visual SourceSafe) TFS(Team...
关于 this 指向的理解
函数内 this 的指向 这些 this 的指向,是当我们调用函数的时候确定的。 调用方式的不同决定了this 的指向不同一般指向我们的调用者. 1. 普通函数 this 指向window 1234function fn() { console.log('普通函数的this' + this);}window.fn(); 2. 对象的方法 this指向的是对象 o 123456var o = { sayHi: function() { console.log('对象方法的this:' + this); }}o.sayHi(); 3. 构造函数 this 指向 ldh 这个实例对象 原型对象里面的this 指向的也是 ldh这个实例对象 1234function Star() {};Star.prototype.sing = function() {}var ldh = new...