Home
Home
取消

Tinc 搭建教程

简介 最近从 Zerotier 切换到 Tinc,是由于公司网络的 NAT 层数太多,是 Symmetric NAT,Zerotier p2p 打洞几乎不成功,连接国内自建的 Moon 都费劲。切换到 Tinc 后目前体验良好。 附一个NAT类型测试工具:NAT类型测试.zip Tinc 是一个组建虚拟专用网络(VPN)的工具,以 GNU 协议发布,通过隧道及加密技术在互联网上点与点之间创建专有网络。tinc 在网络层工作,因此无需对现有软件进行修改和配置。您可以使用 tinc 搭建专属的低延迟、高带宽、可扩展的 P2P VPN。其数据通讯经过加密和压缩,能避免敏感数据和隐私的泄露。 无

Tensorflow 调用 Matlab 生成的 .mat 文件

matlab 处理好的数据想送进 Tensorflow 的神经网络中,在数据量极大的时候,全部读进内存也不是太理想,综合 tfrecord,自己构建 tfds 数据集等方式,还是生成 tf.data.Dataset 会更便捷一些。 在数据量极大的时候,期望的是 Tensorflow在使用数据的时候才读取相应的数据,则要求Matlab保存数据的时候不能将所有数据保存到一个大的 .mat 文件,而是应该分开保存: path_to_data └───────0.mat 1.mat 2.mat ...Copy 如果保

残差网络(ResNet)

简介 ResNets要解决的是深度神经网络的“退化”问题。 什么是“退化”? 我们知道,对浅层网络逐渐叠加layers,模型在训练集和测试集上的性能会变好,因为模型复杂度更高了,表达能力更强了,可以对潜在的映射关系拟合得更好。而“退化”指的是,给网络叠加更多的层后,性能却快速下降的情况。 如果期望的潜在映射为H(x)H(x)H(x),与其让F(x)F(x)F(x)直接学习潜在的映射,不如去学习残差H(x)−xH(x)−xH(x)−x,即F(x):=H(x)−xF(x):=H(x)−xF(x):=H(x)−x,这样原本的前向路径上就变成了F(x)+xF(x)+xF(x)+x,用F(x)+x

RNN与LSTM

RNN 一个简单的RNN模型如下: 循环神经网络的隐藏层的值 SSS 不仅仅取决于当前这次的输入 XXX,还取决于上一次隐藏层的值 St−1S_{t-1}St−1​。权重矩阵 W WW 就是隐藏层上一次的值作为这一次的输入的权重。 RNN 按照时间线展开: 网络在 ttt 时刻接收到输入 X_{t} 之后,隐藏层的值是 StS_tSt​ ,输出值是 OtO_tOt​ 。关键一点是, OtO_tOt​ 的值不仅仅取决于 XtX_{t}Xt​ ,还取决于 St−1S_{t-1}St−1​ 。 LSTM LSTM 的梯度由两部分组成:RNN 结构的梯度和线性变换函数的梯度。线

tensorflow-gpu 安装笔记

公司另一个项目组整了台 GPU 服务器,可以蹭一蹭,tensorflow-gpu 环境的搭建还是有点麻烦,使用 conda 会省时省力一些。 安装 cuda 和 cudnn 手动安装 官方下载地址 conada 安装 换源请参考 conda 换源 初次使用 conda 需要初始化 shell: conda init powershell # win10 初始化 powershell, linux 则 bash/zsh 等 Copy ps. powershell 需要开启执行脚本的权限, 打开PowerShell 然后输入 get-executionpoli

理解 typedef 定义的函数指针

在 C 里面,可以用 typedef 来为一个已有的数据类型增加一个新的别名。比如: typedef int Length; Copy 这种简单的形式,大家都能理解。可是遇到下面这种形式,不少人就傻眼了。比如: typedef int (*PFI)(int, const char *); Copy 难道是把 int 数据类型定义成了 (*PFI)(int, const char *) 的数据类型,可是哪有这样的数据类型啊。即使被别人告知这是定义了一种函数指针类型,但却怎么也无法和 typedef int Length 这种形式关联起来,不是应该有一种已有的数据类型,一种新的数据类型

应对PPPOE拨号用户24/48小时断线一次

家里有一台做路由的虚拟服务器,拉的是联通的100M光纤,有时候玩游戏的时候突然掉线,经过查看路由(MikroTik RouterOS 6.38.5)日志发现每天差不多15:25分左右都有如下日志: 15:26:16 pppoe,ppp,info pppoe-out1: terminating...15:26:16 pppoe,ppp,info pppoe-out1: disconnected15:26:16 pppoe,ppp,info pppoe-out1: initializing...15:26:16 pppoe,ppp,info pppoe-out1: waiting fo

I2C 内部集成电路总线接口

简介 为两线串行接口,一条数据线 SDA,一条时钟线 SCL,可用于 MCU 和外部 I2C 设备的通讯。有标速(100kHz)、快速(400kHz)、快速+(1MHz)模式和Ultra Fast-mode(5MHz), 支持SMBus(系统管理总线)、 PMBus(电源管理总线)和SAM_V(验证安全控制模式),7 位和 10 位的地址模式和广播寻址。 信号定义 时钟信号的高电平期间 SDA 线上的数据必须稳定。只有在时钟信号 SCL 变低的时候数据线 SDA 的电平状态才能跳变 所有的数据传输起始于一个 START(S)结束于一个 STOP(P) START 起始位定

浅谈 Pandoc 将 Markdown 转成 PDF

使用 Pandoc 将 Markdown 转化成 PDF 常见的流程是利用 xelatex 直接生成 PDF。这要求安装 Latex 的大部分功能以及各种宏包,也不能像 Latex 那样自由的控制格式,生成的速度也很慢。更关键的是容易出现各种莫名奇妙的问题。 于是就想了个另外生成 PDF 的办法,即利用 Pandoc 先将 Markdown 转成 Html,再利用浏览器的打印功能打印出 PDF,虽然多了一个步骤,但会少很多问题,不用那么折腾,正所谓遥程路反近,捷径常误人。 利用 xelatex 直接生成 PDF 如果使用 Pandoc 直接生成 PDF,则需要安装 latex

不拆机直接修改黑群晖的SN和MAC

U盘引导修改方法 一、开启SSH端口。 在控制面板里面——>终端机和SNMP ,启动SSH功能打勾,并设置端口(建议别用22,改用其他的,比如220或者其他都行)。 二、挂载 synoboot1 分区。 第一步:用 ssh 工具如 xshell 连接到群晖的地址,用创建群晖的管理用户登陆。 第二步:获取root权限。(如果这一步失败,请按照教程开启root权限,6.17及以下版本看这里,6.2及以上版本看这里。) sudo -i 回车后会提示输入密码,即再次输入当前管理账号的密码。 成功后会变成 root@Sxxx:~#。 第三步:将 /dev/s