Python强制杀死线程
123456789101112131415161718192021222324252627282930313233343536373839import ctypesimport inspectimport timefrom threading import Threaddef _async_raise(tid, exctype): tid = ctypes.c_long(tid) if not inspect.isclass(exctype): exctype = type(exctype) res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype)) if res == 0: raise ValueError("invalid thread id") elif res != 1: ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None) ...
论文阅读_基于知识图谱的约束性问答
读后感
针对问题:利用当前的知识库 (KB),回答用自然语言提出的问题。
目标:一方面开发用于评价约束性问答的数据集;另一方面开发针对约束性问答的解决方法。
结果:产出评测数据集;提出的多约束查询图算法提升了对复杂问题的解答能力。
核心方法:
复杂问题的分类和处理机制,抽象出六种约束类型,以及对应各类问题的解决方法。
方法
找到问题相关实体节点
找到满足约束的所有路径
将与问题语义相似度最高的作为答案
难点:整个过程中约束到底如何产生作用。
泛读后理解程度:直接精读
(看完题目、摘要、结论、图表及小标题)
介绍
英文题目:Constraint-Based Question Answering with Knowledge
Graph
中文题目:基于知识图谱的约束性问答
论文地址:https://readpaper.com/paper/2572289264
领域:图神经网络、问答系统
发表时间:2016
出处:acl
被引量:142
代码和数据:https://github.com/JunweiBao/MulCQA/tree/ComplexQuestions
阅读时间:202 ...
4_Obsidian_图床
1 目标
Obsidian 文档可以本地存储,文档主要由 markdown 和图片组成。markdown
是纯文本,格式简单占空间也小,在存储和分享的过程中,插在文档中的图片就比较麻烦。所以希望把文本和图片分开存储,并且能简单快速地分享给别人,比如发布博客时,不用一张一张贴图。
图床是一个比较简单的解决方案,它是一种在线图片存储服务,可以用来上传、存储、管理和分享图片。通常,图床会提供图片的
URL
地址,可以在网页、博客、社交媒体等平台中使用。一般使用腾讯云、阿里云的存储服务实现,也可以使用
Github,Gitee 代码托管服务实现。主要看图多不多,访问量大不大。
本文将介绍在 Ubuntu 系统下,用 Obsidian+PicGo+Gitee
的方式做个免费图床,适用于图片不多,访问量不大的场景,同时讨论了扩展性。
2 原理
2.1 Obsidian
离线的文档管理工具,可以通过 Obsidian QuickShare, Obsidian to Notion
等插件进行网页共享,个人觉得通过图床,把文档和图片分开更加方便。
2.2 PicGo
PicGo
是一款用于上传、管理和分 ...
论文阅读_卷积图神经网GCN
介绍
英文题目:Semi-Supervised Classification with Graph Convolutional
Networks
中文题目:使用卷积图神经网络实现半监督分类器
论文地址:https://arxiv.org/abs/1609.02907
领域:自然语言处理,知识图谱,图神经网络
上传时间:2016
出处:ICLR 2017
被引量:10671
代码和数据:
https://github.com/tkipf/gcn
https://github.com/kaize0409/pygcn/
阅读时间:22-03-11
泛读
针对问题:图节点多分类,半监督学习
结果:在知识图和引文图数据集中,有效提升了精度和效率
核心方法:基于频谱图,卷积神经网络,编码时考虑到图结构和节点的特征
难点:几乎全是公式推导,先验知识太多,单看公式看不懂
泛读后理解程度:30%
(看完题目、摘要、结论、图表及小标题)
精读
摘要
论文提出了基于图的,使用类似卷积神经网络的半监督学习方法。选择卷积结构让我们在建模时更注重邻近的节点。模型隐藏层编码同时考虑了局部结构和节点特征。相较 ...
1_Obsidian_安装
#笔记/Obsidian
1 安卓版
下载地址
https://www.05sun.com/downinfo/380645.html
特点
和电脑版用法几乎完全一致
也可以更换皮肤
2 Linux 版
在官网可下载较新版本,看着和 Windows 版完全一样,对习惯用 Linux
的人来说,绝对是福音
2.1 方法一:建议下载 deb 安装包
安装后可执行文件位置在/opt/Obsidian/obsidian,需要向 bin
下做个链接
2.2 方法二:直接安装应用程序
下载 AppImage(Linux 下推荐安装)
将其权限设置为可执行,复制到想要安装的目录
1234$ sudo mkdir /opt/obsidian$ sudo mv ~/Downloads/Obsidian-0.12.19.AppImage /opt/obsidian/Obsidian-0.12.19.AppImage$ chmod 777 /opt/obsidian/Obsidian-0.12.19.AppImage$ sudo ln -s /opt/obsidian/Obsidian-0.12. ...
Python日志工具loguru
Python 日志工具 loguru
错误级别
level name
Severity value
Logger method
TRACE
5
logger.trace()
DEBUG
10
logger.debug()
INFO
20
logger.info()
SUCCESS
25
logger.success()
WARNING
30
logger.warning()
ERROR
40
logger.error()
CRITICAL
50
logger.critical()
代码
12345678910from loguru import logger# 设置输出级别, 只显示 INFO 及以上级别logger.remove()handler_id = logger.add(sys.stderr, level="INFO")# 日志输出logger.debug("xxxxx")logger.info("xxxxx")logger.warning("xxxxx" ...
论文阅读_基于动态搏弈的知识图推理
介绍
英文题目:Reasoning on Knowledge Graphs with Debate
Dynamics(R2D2)
中文题目:基于动态辩论的知识图推理
论文地址:https://arxiv.org/pdf/2001.00461.pdf
领域:图神经网络, 知识推理
发表时间:2020
出处:AAAI 2020
被引量:6
代码和数据:https://github.com/m-hildebrandt/R2D2
读后感
针对问题:基于图的自动知识推理
目标:提升对真命题和伪命题的识别,提升可解释性
结果:对于分类和链接预测任务均有良好表现,且实现了一些归因。
核心方法:
利用动态辩论的强化学习算法。
这是一个相对白盒的方法
采用两个 agent
的对抗,一个找真命题相关路径,一个找假命题相关路径,使用知识图中的路径作为参数生成特征,最终由判别器做出判断推理的真伪。
具体模型:深度学习模型,两个 Agent 使用 LSTM,判断使用 MLP
难点:对抗学习应用于图论和知识推理。
泛读后理解程度:60%
(看完题目、摘要、结论、图表及小标题)
精读
(只翻译了实现部分)
...
论文阅读_可扩展特征学习Node2Vec
介绍
英文题目:node2vec: Scalable Feature Learning for Networks
中文题目:node2vec:面向网络的可扩展特征学习
论文地址:https://arxiv.org/abs/1607.00653
领域:图神经网络,知识表示
发表时间:2016
出处:KDD
被引量:6181
代码和数据:http://snap.stanford.edu/node2vec/
参考其它翻译:【论文笔记】node2vec
说明
一切皆可 vector
图神经网络经典必读第一篇
读后感
(看完题目、摘要、结论、图表及小标题看完,约 30 分钟)
针对问题:自动学习图中结点和边的特征表示
目标:更好地表征图中的节点:兼顾同质性和结构等价性。
结果:在多领域与 SOTA
模型对比,展示算法有效性,可在复杂网络中生成任务无关的表征。
方法:note2vec
框架,优化随机游走算法,结合深度优先和广度优先两种游走方式,用参数设置游走方式的选择,从而提升效率。
精读
(核心章节:读 + 整理:3 小时)
摘要
如果想使用机器学习算法对图中节点和边建模,需要自动学习对图中 ...
streamlit构造Web应用
StreamLit 构造 Web 应用
功能
Streamlit 帮助机器学习工程师快速开发用户交互工具,几乎可取代 Flask
在机器学习项目中的地位。
个人感受
确实非常方便,安装 python 库的 streamlit 后,可快速入门
和学习前端相比,学习成本非常低
界面比较美观,适合用于 demo 和内部展示
通过简单的代码,就可以展示丰富的功能;但对于复杂的 UI 还没试
不需要可见的 b/s 通讯,几乎所有交互都通过操作 streamlit
句柄完成
使用很方便,功能是否强大还没试
运行需要基于 streamlit 框架
安装
1$ pip install streamlit
运行示例
1$ streamlit hello --server.port 8080
我指定了端口,否则其默认运行端口是 8501
在其左侧可以选择几种主要的 demo
Pasted image
20220212132427.png
运行程序
将其中 dataframe 的 demo 写入一个文件 test.py,然后运行
1$ streamlit run test.py --server. ...
图数据库Neo4j
图数据库
传统数据库难以处理复杂多跳的关系运算。需要一种支持海量、复杂、且结构灵活的关系运算数据库,图数据库应运而生。
1 相关概念
1.1 简介
图数据库由顶点和边组成;
主要用于对图数据的增删改查;
目前常用的图数据库有 Neo4j,JanuxGraph 等
1.2 使用场景
常用于社交、电商、金融、零售、物联网等行业
用于关系查询
用于遍历复杂关系
用于实现复杂的规则:如子图比较、推荐等
对于结构化数据,常可使用关系型数据库;对于关系比较多,数据不太规律的情况,则用图数据库
1.3 分类
属性图数据库
构成:顶点、边、顶点属性、边属性
RDF 图数据库(不支持属性,比较古老,已经不怎么用了)
针对文本语义场景产生
三元组:subject->predicate->object
1.4 原生图数据库
原生图数据库:使用图模型进行数据存储,可以针对图数据做优化,从而带来更好的性能,例如
Neo4j。
非原生图数据库:底层存储使用非图模型,在存储之上封装图的语义,适合与其它数据应用配合使用,例如
Titan、JanusGraph 底层 采用 KV 存储非图模 ...