( • ̀ω•́ )✧博主更换输出主战场了=》少年心气的博客(/ω\)
(σ゚∀゚)σ..:*☆欢迎大家批评指教,一起来讨论进步~哎哟不错哦~( ̄3 ̄)a首先说一下我的需求:学院服务器是linux的系统;被分配了内网IP;不知道对应路由器在哪;需要外网(在宿舍)也能进行访问。
这里注意:虽然宿舍用的也是校园网,但是 服务器那边的路由器,可能只是被校园的网络管理员分配了一个公网IP;然而路由器进行了NAT/DHCP 进行了内网IP分配,使得服务器都可以访问到外网,然而外网(只知道一个公网IP,却不知道 我想访问的服务器是哪个)是访问不到 服务器的。
所以之前我们想到windows之间可以用teamviewer。但是服务器都是黑框,于是想到使用找到对应的公网IP路由器,直接进行端口转发,但是用的交换机、不是路由器,没有这个功能。于是使用teamviewer搭建对应的“威屁恩”(因为 自己没有预算,而且需要有一台公共服务器C,A B都能访问到, 在C上搭建 “威屁恩”),使得A B能够处于同一网段,于是就可以进行 网络访问;再进行一下 端口转发就好了。
奈何上面的想法都没有奏效,但是以上过程帮助我们理清了思路——内网穿透,需求不大 黑框能连接就行。
于是发现了下面这个神器。可以说是在该需求下,史上最好用的免费服务器来搭建内网穿透的方式了!
数据处理和模型评估与选择
VSCode&Hexo快捷键和操作命令
VSCode中 非常好用的快捷命令
多行操作
- 选中多行进行操作:Alt + 鼠标左键(或者 Ctrl+Alt + 上下按键)
- 加选下一个同名名称:Ctrl + d ( + u 是选择上一个)
基础操作
- 首先是F1/Ctrl+Shit+P万能键,谁用谁知道
- Ctrl+G:跳转行号
- Ctrl+P:文件切换
- Ctrl + Shift + Tab 调出最近打开的文件列表
- Ctrl + Tab 与上面一致,顺序不一致
- Alt+↑↓:整行上下移动
- Ctrl+↑↓:编辑器垂直滚动条上下移动,光标不动
- Ctrl+Backspace/Delete:整词/连续空白删除
- Ctrl+→←:光标整词移动
- Ctrl+F查找/Ctrl+Shift+F在文件中查找(通用快捷键不再赘述)
- F12/Ctrl+左键点击函数:跳转到定义
- Shift+F12:预览定义
代码调试
- F5:调试/继续,
- F10:单步跳过,
- F11:单步进入,
- Shift+F11:跳出。
- F9:切换断点
代码提示
- Ctrl+空格:自动提示
集成终端快捷键
- Shift + PgUp / PgDown: 页面上下翻屏
- Ctrl + Home / End: 滚动到页面头部或尾部
- Ctrl + Enter: 在下面插入新的一行
- Ctrl + Shift + [ 折叠区域代码
- Ctrl + Shift + ] 展开区域代码
插件介绍
Python(必备)
VScode自带的官方插件Anaconda Extension Pack
可以自动补全anaconda包中的属性名称Code Spell Checker
单词拼写检查,非常推荐,有时候会拼错单词,这个不仅可以指出错误,还能提供正确单词的拼写方式。
安装好之后,选中拼写错误的单词,旁边出现黄色小灯泡,点击选择单词,直接替换。Autopep8/yapf
自动格式化代码;(Alt + Shift + F)Settings Sync
将VScode的配置上传到github,以后换机器,重装系统,随时下载,不用重新找教程了vscode-icons
文件图标主题,能够让你的各种文件一目了然,不用再去看扩展名,而且超级好看SynthWave’84
字体颜色主题,我个人非常喜欢的一套高亮字体方案koroFileHeader
文件头注释(ctrl+alt+i) 和函数头注释(ctrl+alt+t)工具,一键生成头注释- Markdown Preview Enhanced
在VSCode中完美书写MarkDown和LaTex必备的预览插件
其它设置
隐藏菜单栏
这个属于个人习惯,如果你也感觉菜单栏很碍眼,可以点击查看->切换菜单栏,即可隐藏菜单栏。需要菜单栏的时候按Alt键即可查看
设置快捷键
文件->首选项->键盘快捷方式,将需要的修改的快捷键的整个大括号里面的内容复制到右边keybindings.json文件中,然后修改“key”的值为你需要的快捷键即可。我这边只修改了复制一行和删除一行的快捷键。
常用hexo命令
1 | ·常见命令 |
_config.yml
这里面都是一些全局配置,每个参数的意思都比较简单明了,所以就不作详细介绍了。
需要特别注意的地方是,冒号后面必须有一个空格,否则可能会出问题。
Markdown中Latex语法梳理
笔者在学习MachineLearning和神经网络模型时,越发感到需要使用的数学公式变多了.
于是乎为了方便自己进行ML笔记整理运用到的数学公式以及方便日后进行论文写作中熟悉使用LaTex语法.现将markdown中LaTeX数学公式语法进行整理.方便在需要的使用自取自用.
推荐 Excel等表格在线转换器——LaTex 食用更加.
插入公式的方法
- 行内公式:
$...$
和\(...\)
- 块内公式:
$$...$$
和\[...\]
测试输出LaTex公式
BP算法
1 | 训练集 $\left\{\left(x^{(1)}, y^{(1)}\right), \ldots,\left(x^{(m)}, y^{(m)}\right)\right\}$ |
训练集 $\left\{\left(x^{(1)}, y^{(1)}\right), \ldots,\left(x^{(m)}, y^{(m)}\right)\right\}$
设 $\Delta_{i j}^{(l)}=0(\text { for all } l, i, j)$
$\begin{array}{l}{\text {For } i=1 \text { to } m}\end{array}$
$\begin{array}{l}{D_{i j}^{(l)} :=\frac{1}{m} \Delta_{i j}^{(l)}+\lambda \Theta_{i j}^{(l)}} & {\text { if } j \neq 0} \\ {D_{i j}^{(l)} :=\frac{1}{m} \Delta_{i j}^{(l)}} & {\text { if } j=0}\end{array}$
其中 $\frac{\partial}{\partial \Theta_{i j}^{(l)}} J(\Theta)=D_{i j}^{(l)}$
NVIDIA\CUDA\cuDNN环境安装(解决循环登录问题)和Anaconda安装使用
关于Ubuntu显卡驱动的安装-解决循环登录\挂载\卸载问题
由于AC自己本人刚开始在实验室使用ubuntu系统时,电脑自带多张显卡 配置有点问题,导致循环登录—-噩梦般的两天未果,隧重装.
AC的显卡驱动安装过程以及一些操作再次记录下来,以飨后来者.
NVIDIA显卡驱动安装
禁用 nouveau 驱动(nouveau是 ubuntu16.04 默认安装的第三方开源驱动,安装cuda会跟nouveau冲突,需要先禁用)
- 先查看 nouveau 是否被禁用,输入以下命令,若有输出,则说明 nouveau 在运行中
lsmod | grep nouveau
- 修改 /etc/modprobe.d/blacklist.conf 文件
sudo vim /etc/modprobe.d/blacklist.conf
在末尾加入
blacklist nouveau
options nouveau modeset=0
- 执行以下命令,并重启
sudo update-initramfs –u
- 再执行以下命令,查看 nouveau 是否已被禁用,若无任何输出,说明禁用成功
lsmod | grep nouveau
Python机器学习中常用类库的使用
[TOC]
本文引用和使用的类库
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn import datasets
Jupyter Notebook’s Learning to writing
Toolbar
- 可以进行 Cell代码行的编写运行
- 可以切换Cell编写模式——为Markdown的模式
- Help当中可以快速浏览并且更改使用的快捷键
快捷键
- a/b 快速插入一行(在相应的选中行的上面或者下方)
- x 剪切/删除一行
- m 切换为markdown模式
- y 切换为coding模式
优点
每次不用总是重新加载数据
只需要加载一次就可以!所以方便注意:下面定义的变量,在上方也可以用!除非点击Kernel——Restart & run all
以上就可以充值变量上下文。
Jupyter Notebook 高级-魔法命令
1 | %run #调用并且 加载对应的脚本/方法。 |
%run? #查看对应方法的 帮助文档
lsmagic #查看当前环境下,所有的魔法命令
numpy.array基础
选择为什么不选择List
Python List 的特点
1 | L = [i for i in range(10)] |
区别List 、 array、 numpy.array
- Python的List不要求存储同样的类型,带来效率问题。
- array的缺点是没有将数据当做向量或者矩阵,不支持基本运算。
- nparr.dtype —— 只有一种类型的数据类型在nparr中!
而且 nparr可以有 整型 和 浮点型
而且 nparr可以用来生成 矩阵和向量之类的。
scikit-learn在机器学习算法中的代码使用
简单线性回归的实现
zip()
1 |
|
划分数据样本
1 | def train_test_split(X, y, test_ratio=0.2, seed=None): |
根据 test_ratio划分样本为80% 20%……
解决hexo多台电脑之间同步访问和百度无法索引hexo博客的问题
声明
本文重点讲解如何进行hexo多台电脑之间同步访问问题;带过一下利用coding.net网站进行百度SEO优化问题;其他一些操作错误的小细节请自行百度或者与我联系。感恩。
场景
进入研究生生活之后,需要在A实验室(或者工作单位)之中进行博客的日常码字和管理;然而有时候回到B宿舍(或者家里)之后又想更新blog。然而囿于hexo静态博客
,无法像wp
那样进行后台的管理和编写,只能在本地进行同步和上传,无奈想起使用协同代码管理服务————git.
选择
前一阵和小伙伴们做比赛的时候,由于暂时需要进行代码的保密工作,所以选择了码云进行代码托管和协同工作。github被微软收购之后,在今年1月份突然宣布了要将私有代码托管服务转变为免费的项目!(本来在收购之前 博主还特意备份了一下github的代码…… :)于是乎今天使用github
来进行hexo原始文件的同步处理操作。
Flask的核心机制-关于请求处理流程和请求|应用上下文
学习一样东西不能只停留在表面,我们要探索其中的细节,学习作者的编程思想,这样才能更进一步。
关于WSGIWSGI(全称Web Server Gateway Interface),是为 Python 语言定义的Web服务器和Web应用程序之间的一种简单而通用的接口,它封装了接受HTTP请求、解析HTTP请求、发送HTTP,响应等等的这些底层的代码和操作,使开发者可以高效的编写Web应用。一个简单的使用WSGI的App例子:
1 | def application(environ, start_response): |
- environ: 一个包含全部HTTP请求信息的字典,由WSGI Server解包HTTP请求生成。
- start_response: 一个WSGI Server提供的函数,调用可以发送响应的状态码和HTTP报文头, 函数在返回前必须调用一次start_response()。
- application()应当返回一个可以迭代的对象(HTTP正文)。application()函数由WSGI Server直接调用和提供参数。
- Python内置了一个WSGIREF的WSGI Server,不过性能不是很好,一般只用在开发环境。可以选择其他的如Gunicorn。