MacOS在命令行中打开Sublime Text 3
配置
在终端中输入命令来创建软链接:
1ln -sv "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
如果Sublime Text是版本v2,则使用如下命令:
1ln -sv "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
然后
1source ~/.zshrc
使用
在命令行执行:
1subl text.cpp
就可以直接打开文件啦。
Reference
Launch Sublime Text from the command line on OSX
C++基础知识
基础
技巧
无内存申请交换
1
STL
string
进制转换
atoi(char) 头文件 #include
atoi(line.c_str())记住要转为C风格字符串
char* itoa (int value,char*string,int radix);
12345678910111213141516171819202122#include <iostream>#include <cstring>#include <string>#include <cstdlib>using namespace std;string reverse(string s, int radix_1, int radix_2){//将radix1进制数转换成radix2进制数 char * stop=NULL; long a = strtol(s.c_str(), &stop,radix_1); char buff[20]; memset(buff,0,sizeof(char)*20); ltoa(a, buff, rad ...
Java基础知识
环境配置
Maven
Maven download
basic Language
HelloWorld
12345class HelloChina{ public static void main(String[] args){ System.out.println("Hello World!"); }}
泛型
和的区别
常见类
ThreadLocal
Framework
spring boot
新建项目
Groovy
Groovy 语言快速入门
常见问题
SpringBoot+MyBatis整合中的坑以及Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required错误详解
Reference
Python入门
入门
参考资料
廖雪峰python教程
cookbook
答疑
基础
f-string格式化
12k=123.45print(f"123:5.1f")
[Python 中下划线的 5 种含义 | 菜鸟教程 (runoob.com)](https://www.runoob.com/w3cnote/python-5-underline.html#:~:text=下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用。 该约定在PEP 8中有定义。 这不是Python强制规定的。 Python不像Java那样在"私有"和"公共"变量之间有很强的区别。 这就像有人提出了一个小小的下划线警告标志,说: “嘿,这不是真的要成为类的公共接口的一部分。 不去管它就好。,” 如果你实例化此类,并尝试访问在__init__构造函数中定义的foo和_bar属性,会发生什么情况? 让我们来看看: 你会看到_bar中的单个下划线并没有阻止我们"进入"类并访问该变量的值。 这是因为Python中的单个下划线前缀 ...
matplotlib
绘制曲线图
1234567891011121314151617181920import matplotlib.pyplot as plttrain_losses, train_accuracy = [], []val_losses, val_accuracy = [], []for epoch in range(1, 20): epoch_loss, epoch_accuracy = fit(epoch, model, train_loader, phase='training') val_epoch_loss, val_epoch_accuracy = fit(epoch, model, test_loader, phase='validation') train_losses.append(epoch_loss) train_accuracy.append(epoch_accuracy) val_losses.append(val_epoch_loss) val_accuracy.append(val_ep ...
Python环境配置
一、anaconda
anaconda清华镜像下载地址
anaconda北京外国语法学镜像下载地址
Anaconda安装
conda和pip比较
创建Python虚拟环境
使用 conda create -n your_env_name python=X.X(2.7、3.6等) anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。
conda create -n cs python=3.7
安装
macOS
推荐用homebrew安装
1brew install conda
ubuntu
linux安装anaconda
常用功能代码
conda 创建/删除/重命名 环境
查看已有环境
conda env list
切换环境:
windows: conda activate xxx(env name)
linux: source activate xxx(env name)
查看当前环境安装包:
conda list
查看包版本
conda list P ...
隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列
隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列
在本篇我们会讨论HMM模型最后一个问题的求解,即即给定模型和观测序列,求给定观测序列条件下,最可能出现的对应的隐藏状态序列。在阅读本篇前,建议先阅读这个系列的第一篇以熟悉HMM模型。
HMM模型的解码问题最常用的算法是维特比算法,当然也有其他的算法可以求解这个问题。同时维特比算法是一个通用的求序列最短路径的动态规划算法,也可以用于很多其他问题,比如之前讲到的文本挖掘的分词原理中我们讲到了单独用维特比算法来做分词。
本文关注于用维特比算法来解码HMM的的最可能隐藏状态序列。
在HMM模型的解码问题中,给定模型λ=(A,B,Π)\lambda = (A, B, \Pi)λ=(A,B,Π)和观测序列O={o1,o2,...oT}O =\{o_1,o_2,...o_T\}O={o1,o2,...oT},求给定观测序列O条件下,最可能出现的对应的状态序列I∗={i1∗,i2∗,...iT∗}I^*= \{i_1^*,i_2^*,...i_T^*\}I∗={i1∗,i2∗,...iT∗},即P(I∗∣O)P(I^*|O)P(I∗∣O ...
深度学习理论
基础
计算机视觉基本任务综述
卷积层输出尺寸计算公式
output_size=input_size+2×padding−kernel_sizestride+1\color{OrangeRed}output\_size = \cfrac{input\_size+2\times padding- kernel\_size}{stride}+1
output_size=strideinput_size+2×padding−kernel_size+1
N是输入图片长度,K是滤波器长度(卷积核大小),S是步长
干货集锦
机器学习原理
李宏毅机器学习笔记
李宏毅Bilibili
白板推导
信息论
I(X;Y) = I(Y;X) = H(Y)-H(Y/X) = H(X) – H(X/Y)
H(X) + H(Y) = H(X,Y) + I(X;Y)
I(X;Y)=H(X) + H(Y) – H(X,Y)
基础概念
详解残差网络
Singular Value Decomposition(SVD奇异值分解)
数据挖掘|概率图模型(一)
评估标准
查准率,准确率,查全率
F1值
实际上非常简单 ...
多GPU训练
对pytorch多GPU训练有一定的疑惑,这里做一个记录。
首先要对pytorch中的两种并行训练实现方式:1.DataParallel; 2.DDP有一定的认识。可参考:
Pytorch 中通过 torch.distributed 包提供分布式支持,包括 GPU 和 CPU 的分布式训练支持。Pytorch 分布式目前只支持 Linux。
在此之前,torch.nn.DataParallel 已经提供数据并行的支持,但是其不支持多机分布式训练,且底层实现相较于 distributed 的接口,有些许不足。
torch.distributed 的优势如下:
每个进程对应一个独立的训练过程,且只对梯度等少量数据进行信息交换。
在每次迭代中,每个进程具有自己的 optimizer ,并独立完成所有的优化步骤,进程内与一般的训练无异。
在各进程梯度计算完成之后,各进程需要将梯度进行汇总平均,然后再由 rank=0 的进程,将其 broadcast 到所有进程。之后,各进程用该梯度来更新参数。
由于 各进程中的模型,初始参数一致 (初始时刻进行一次 broadcast),而每次用于更新参数的梯 ...
在M1芯片macOS上安装jdk8
M1 使用全新的系统架构,如果你正在使用搭载 M1 芯片的 Macbook 或 Mac mini 电脑,你一定会困惑如何解决 Java 开发环境的问题。截止2021年8月,甲骨文 (Oracle) 的 JDK 尚未针对苹果 M1 芯片进行适配。 因此如果将甲骨文 JDK 安装到 M1 芯片的 Mac 电脑上,Mac OS 将会使用 Rosetta 2 对其进行转译运行,导致生产力性能大幅下跌,同时开发过程中还可能会遇到兼容性问题。
如果想以原生的方式在 M1 芯片的电脑上运行 Java,我们可以选择使用 Azul Zulu 的 Java JDK 来解决改问题。
Zulu JDK 支持的 Java 版本有:8,9,10,11,12,13,14,15。
本次安装我们将选择较为通用的 JDK 8 来搭建环境。
本教程所使用 Mac 之配置详情如下:
Mac mini ( M1, 2020 )
16 GB 内存
512 GB 存储内存
macOS Big Sur 11.2.1
从 Zulu JDK 官方网站下载 JDK 安装包
1234Java Version: 对应 J ...