WOL(网络唤醒)

一台华硕主板电脑网络唤醒设置:

  1. 开机按下DEL键,在BIOS设置中开启PCI-E唤醒:
    PCI-E唤醒
  2. 升级驱动,驱动精灵中升级即可:
    驱动精灵升级完毕后的样子
  3. 设备管理器中,属性:
    设备管理器
  4. 设置关机网络唤醒:
    关机网络唤醒
  5. 电源管理:
    电源管理
  6. 安装RemoteBoot WOL软件,添加,输入IP和MAC地址(通过ipconfig /all获取),端口填9
  7. 防火墙设置中,加上入站规则:
    入站规则

latex找不到sty

提示File xxx.sty not found

执行 docker exec sharelatex tlmgr install xxx

如果不行的话,用tlmgr search --global --file xxx.sty搜搜,比如:

搜索结果

这里名称完全一致的是ncctools。这样就知道要安装哪个包了。

docker-overleaf

参考资料:

下载与启动

安装好docker后,下载文件https://github.com/overleaf/overleaf/blob/master/docker-compose.yml 。可以打开修改volumes: - ~/sharelatex_data:/var/lib/sharelatex这种挂载路径。

docker-compose.yml文件的文件夹下,执行 docker-compose up

在这一过程中,会自动进行:

  • docker pull sharelatex/sharelatex
  • docker pull redis
  • docker pull mongo
    并且会自动启动。

启动后的docker界面显示

安装完整包

在另一个窗口中,执行:

  • docker exec sharelatex tlmgr update --self
  • docker exec sharelatex tlmgr install scheme-full

创建管理员账号

访问localhost\launchpad页面。

提示File xxx.sty not found

执行 docker exec sharelatex tlmgr install xxx

如果不行的话,用docker exec sharelatex tlmgr search --global --file xxx.sty搜搜,比如:

搜索结果

这里名称完全一致的是ncctools。这样就知道要安装哪个包了。

升级

今天忽然提示要升级,所以记录一下升级的过程。

升级提示

如果手动做,升级的说明在:https://tug.org/texlive/upgrade.html

但如果重新下载,可以参考https://github.com/overleaf/overleaf/wiki/Upgrading-Containers 。但是目前还没有新的image打包好。

如果不想升级,可以参考https://github.com/overleaf/toolkit/issues/50

1
2
3
4
# tlmgr option repository ftp://tug.org/historic/systems/texlive/2020/tlnet-final
# tlmgr update --self
# tlmgr install scheme-full
# tlmgr update --all

xeCJK

需要修改 menu-compiler为XeLaTeX

image.png

字体

https://www.overleaf.com/blog/using-your-favourite-fonts-with-sharelatex-2013-04-02

比如缺少FandolSong-Regular等字体,就到 https://mirrors.tuna.tsinghua.edu.cn/CTAN/fonts/fandol/FandolSong-Regular.otf 下载,再通过共享路径等方式复制到 /usr/share/fonts .(共享路径没有用)直接上传到项目里面

docker安装数据库与使用

该文章前提是已经下载安装好docker。将介绍neo4j、mongo、mysql数据库在docker的安装和使用。

neo4j

https://neo4j.com/developer/docker/

下载镜像:docker pull neo4j

启动

执行:docker run -p7474:7474 -p7687:7687 -e NEO4J_AUTH=neo4j/s3cr3t neo4j

浏览器使用

打开浏览器http://localhost:7474,用户名和密码分别输入`neo4j`和`s3cr3t`即可。

neo4j网页版

可以执行几句,比如:

create (p:Person {name: "Jennifer"})-[rel:LIKES]->(g:Technology {type: "Graphs"})
CREATE (p:Person)-[:LIKES]->(t:Technology)
MATCH (p:Person)-[:LIKES]->(t:Technology) return p,t

neo4j浏览器执行出来的结果

mongo

https://phoenixnap.com/kb/docker-mongodb

下载镜像:docker pull mongo

启动

首先新建一个文件夹装数据,比如我用D:\dataset\mongodb,则执行 docker run -it -v D:\dataset\mongodb:/data/db -p 27017:27017 --name mongodb -d mongo,之后会产生一行container的ID:

创建MongoDB的container

查看日志记录

docker logs mongodb

MongoDB日志

使用bash

docker exec -it mongodb bash

MongoDB的bash交互

如果要退出,bash中输入exit即可

关闭数据库&重新打开

docker stop mongodbdocker start mongodb

GUI连接

https://www.mongodb.com/try/download/compass

下载后用mongodb://localhost:27017连接即可。

Compass连接

这时可以打开本地数据记录看一下:

查看本地数据记录

mysql

docker pull mysql

docker pull phpmyadmin

启动

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

在控制台找到docker的IP,如windows中输入ipconfig,得到的结果中,WSL的IP就是(这里是172.22.176.1)

ipconfig出来的结果

docker run -itd --name mysql_php -p 8081:80 -e PMA_HOST=172.22.176.1 -e PMA_PORT=3306 phpmyadmin

之后访问localhost:8081即可。

GAT

https://baijiahao.baidu.com/s?id=1671028964544884749&wfr=spider&for=pc

图神经网络 GNN 把深度学习应用到图结构 (Graph) 中,其中的图卷积网络 GCN 可以在 Graph 上进行卷积操作。但是 GCN 存在一些缺陷:

  1. 依赖拉普拉斯矩阵,不能直接用于有向图;
  2. 模型训练依赖于整个图结构,不能用于动态图(只能处理 transductive 任务,不能处理 inductive 任务。transductive 指训练和测试的时候基于相同的图结构,例如在一个社交网络上,知道一部分人的类别,预测另一部分人的类别。inductive 指训练和测试使用不同的图结构,例如在一个社交网络上训练,在另一个社交网络上预测。)
  3. 卷积的时候没办法为邻居节点分配不同的权重。

因此 2018 年图注意力网络 GAT (Graph Attention Network) 被提出,解决 GCN 存在的问题。

对节点特征向量 h 进行线性变换,可以得到新的特征向量 h’i,维度是 F’,如下所示,W 为线性变换(从旧特征到新特征)的矩阵:

特征

节点 j 是节点 i 的邻居,则可以使用 Attention 机制计算节点 j 对于节点 i 的重要性,即 Attention Score:

Attention Score

Attention 做法如下,把节点 i、j 的特征向量 h’i、h’j 拼接在一起,然后和一个 2F’ 维的向量 a 计算内积。激活函数采用 LeakyReLU

具体计算过程

图神经网络GNN

https://blog.csdn.net/u010159842/article/details/105939263

GCN:图卷积,将卷积扩展到图的频域卷积

GAT:将注意力机制引入

GraphSAGE:提供了一种通用的归纳式框架,使用结点信息特征为未出现过的(unseen)结点生成结点向量

从消息传播角度考虑,可以看:

【GNN系列1】从Message Passing理解图神经网络(GCN,GraphSage,GAT) - balajia的文章 - 知乎
https://zhuanlan.zhihu.com/p/150596886

GCN是将周围的信息直接聚合,GAT是用节点之间的相似度作为Attention进行聚合

奇异值和特征值

奇异值与特征值辨析 - gwave的文章 - 知乎
https://zhuanlan.zhihu.com/p/353637184

特征向量描述的是矩阵的方向不变作用(invariant action)的向量;
奇异向量描述的是矩阵最大作用(maximum action)的方向向量。(在$A$与所有单位向量$x$的乘积中,$Ax$模长是最大的)

特征值分解

$Av=\lambda v$

特征值分解是将方阵分解:$A=P\Lambda P^{-1}$,$P$中每一列是单位特征向量。其实就是从$AP=P\Lambda$转换得到的。

奇异值分解SVD

奇异值分解

人们是如何想到奇异值分解的? - 石溪的回答 - 知乎 https://www.zhihu.com/question/263722514/answer/1447844961

SVD其实是找到一个$Av_i=\sigma_i u_i$,相当于把一个空间的向量变换后变成另一个空间的向量。

写成向量形式

所以$AV=U\Sigma$,其中$A$不需要是方阵

而$V$的每一列是标准正交向量,所以$V^{-1}=V^T$