Frp内网穿透实现ssh远程连接和博客部署
整理一下使用 Frp 实现内网穿透实现ssh或博客部署的笔记。Frp官方文档上有例子可以指导部署,看文档就可以自行完成。需要整备的工具: 1.一台具有公网 IP 的服务器(VPS) 2.一台需要远程控制的电脑,可以是 Win 或 Linux (这里我用我的树莓派的 Ubuntu 为例)。 3.一台可以联网使用的电脑,当然包括舍友牌(用于测试或者配置服务器)。 另:如果内穿博客需要一个域名,域名自行购买即可。
配置服务端
服务端就是我们的具有公网 IP 的服务器,可以去阿里云或腾讯云自行购买。
使用③(可以联网的 Win 电脑),通过 CMD 采用 OpenSSH (一般 Win 都自带,不用去安装其它的类似于 putty、 hyper 等的 SSH 连接工具)去连接服务器,通过如下命令获取压缩包,并解压。压缩包可前往FRP仓库获取最新安装包。注:如果你的服务器下载较慢,可以先下载到你的电脑,再通过 SCP 命令(很简单,百度一下就有)将其上传到服务器也可以。12wget https://github.com/fatedier/frp/releases/download/v0.60. ...
神经网络基础知识点及手搓BP神经网络
温故而知新,可以为师矣。发现有时候学的知识久了就容易忘,脑子一瞬间想不起来,加上学的东西越多越杂,一些基础的知识就会在恍惚间忘掉,这篇笔记主要记录一下学习神经网络的一些基础知识点,包括神经网络的前向传播模型推理和反向传播参数更新的原理和一些细节,以及采用numpy“手搓”一个BP神经网络进行一个实战演示。
神经网络
神经网络的一些深刻概念和定义这里不再详细介绍,主要简单讲解一下的它的结构组成,神经网络由输入层、隐藏层和输出层构成,层内有神经元。而此神经元就是构建输入端与输出端复杂映射关系的关键,每个神经元就是一个数学公式 $$y=wx+b$$ ,层与层之间通过神经元连接从而构造输入数据(特征)之间的复杂联系。输入层和输出层一般都是单层,且其神经元个数一般也会由任务固定定义了,而隐藏层的层数和每层隐藏层内的神经元个数则是由学者根据具体工况设置,工况欲复杂其隐藏层数及神经元个数一般就会增加,但隐藏层的层数和神经元个数都是在学者反复训练、修改、对比后确定的,这个过程也就是常说的“神经网络模型结构超参数的优化选择”。下图1展示了两种不同的结构的神经网络模型。
上式是构 ...
M-P模型
M-P模型
McCulloch-Pitts(M-P)模型在1943年,由美国神经生理学家沃伦·麦卡洛克(Warren McCulloch)和数学家沃尔特·皮茨(Walter Pitts)对生物学神经进行建模,首次提出了一种形式于神经元模型,并命名为McCulloch-Pitts模型。其通过输出的正负(0作为阈值)用于识别两种不同类型的输入,但随着Sigmoid函数的提出,M-P模型通常采用Sigmoid函数作为激活函数,将模型输出映射到(0, 1)。将0.5作为阈值,输出大于等于0.5的归为一类,小于0.5的归为一类。
在M-P模型中,神经元接受n个神经元的输入信号x,将所有的输入信号x通过加权求和后与阈值θ进行比较,经激活函数处理后得到模型输出值。其数学表达式如下。
$$\overset{\hat{} }{y} = sigmoid( \sum_{i=1} ^{n} x_{i}w_{i} )$$
数据预处理
数据预处理的原因
在神经网络进行模型训练之前,通常会对数据进行预处理以提高模型的性能和稳定性,同时加快模型的收敛速度。采用的数据预处理方法如主成分分析(PCA)、最小最大归一化(MinMaxNormalization)、标准化(ZScore)等,在数据增强方面可以通过进行旋转、裁剪等方式增加训练数据样本。
其实数据需不需要预处理,对于一些较为简单的任务,数据在不进行预处理的情况下也可以表现出很好的效果,当然进行数据预处理后效果较比于不处理的情况下会有所提升。哪为什么进行数据预处理后模型的稳定性和性能就会提高呢?原因有以下几点(个人、经验):
减少计算量:在对于高维度数据,也就是高维度输入或输出,其中包含着一些无关或者冗余的特征,通过清洗去掉这些特征(降维,如PCA)不仅可以减少模型的复杂度,让模型更好的学习映射输入特征与输出的复杂关系,还能减少模型的计算量加快收敛速度,毕竟在神经网络层与层之间的关系是乘积关系,在一些较小网络模型下计算量变化不大还可以接受,但在一些较大的网络模型中,计算量的增加可是成倍数的。
数值量级对应:在多维度输入特征时,由于任务的特征各式各样,特征之间就会存在数值 ...
正则化
偏差与方差 在讨论正则化之前,有必要先对机器学习和深度学习中的偏差和方差进行一个简单了解,这两个概念是模型学习中衡量模型预测精度,拟合、泛化能力的重要指标之一,对调节模型结构提高模型性能有着至关重要的作用。
偏差
偏差是指模型预测的期望值与真实值之间的误差。它反映了模型对数据的拟合程度。
当偏差高时,模型对数据的拟合能力差,意味着模型结构过于简单,欠拟合。其表现在训练集和测试集上的误差都较高,预测值系统性的偏离真实值。
反之,偏差低时,模型对数据的拟合能力好,训练集与测试集的误差较低,预测值系统性的趋于真实值。“系统性”说明的是数据整体上预测值与真实值的趋近程度方向是一致的,但样本个体间是存在差异的。
但要注意的是,拟合能力好并不能表明模型的整体性能就好,拟合能力只是衡量模型性能的指标之一。偏差通常由模型的假设导致(如线性模型假设数据分布是线性的)。
解决模型偏差高常用的方法有:
可以加深模型的结构,如:增加模型的深度(层数)和宽度(神经元);
采用更复杂的模型,如:残差结构、Inception模块、注意力机制等;
对数据预处理或者进行数据特征工程。
方差 ...
Abaqus2020+VS2015+Fortran2016关联配置
安装教程
因为 Abaqus2020 及 VS2015 默认已经安装完成,这里不再介绍两软件安装教程,如果没有可去自行安装,这里主要介绍 Fortran2016 的安装教程(安装包获取在文章最下方)。
解压获取到的安装包,找到 setup.exe ,右键管理员身份运行,跳转安装界面后点击Next(如下图所示)
接着再Next,选择I accept…. 然后 Next(如下图)
接着选择 Choose al.. 点击Next,这时点击browse选择 Fortran安装包文件夹下的Crack目录下的 parallel_studio.lic po解补丁,Next。
No, …, Next, 到了选择安装路径步骤,点击Customize。
可以选择不勾选IA-32,Next,Next
Next, Browse选择安装路径,Next 接着这时有一步没截到图,点击install就行
等待安装完成,点击Finish
这时 Fortran 的安装就已经完成。
关联配置
桌面新建一个 vsfor.bat 批处理文件,右键编 ...
Docker简介及安装教程
Docker介绍
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版)和 EE(Enterprise Edition: 企业版).
Docker优点
Docker是一个用于开发,交付和运行应用程序的开放平台。
Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。
借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。
通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
Docekr 官网: https://www.docker.com/ Github Docker 源码:https://github.com/docker/docker-ce
Docker的安装更新系统12sudo apt up ...
关于 Transforms.Compose 的小问题
🎨关于 Transforms.Compose 的小问题
今天简单的玩了一下pytorch自带的CIFAR10数据集构建多分类预测模型,使用torchvision.transforms.Compose时,发现了一个小小的BUG。
我已经训练好了CIFAR10的预测模型,而我要对模型进行简单的验证。
导入相关模块和已经构建好的神经网络结构模型
123456import torchimport torchvisionfrom PIL import Imagefrom nn_model import Net
编写主程序代码
12345678910111213141516image_path = './image/img.png'image = Image.open(image_path)transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor(), torchvision.tra ...
Titanic - Machine Learning from Disaster
泰坦尼克号灾难预测
使用 Deep Learning 创建一个预测模型,来预测哪些乘客在泰坦尼克号沉船中可以幸存下来。
背景
The sinking of the Titanic is one of the most infamous shipwrecks in history.On April 15, 1912, during her maiden voyage, the widely considered “unsinkable” RMS Titanic sank after colliding with an iceberg. Unfortunately, there weren’t enough lifeboats for everyone onboard, resulting in the death of 1502 out of 2224 passengers and crew.While there was some element of luck involved in surviving, it seems some groups of people ...