OpenKE 的探索使用(VM 的巨坑)

OpenKE 的探索使用(VM 的巨坑)


前言及后续更新

🍀 前言

本想复现知识图谱嵌入模型(KGE)系列的论文,看到 Github 上的经典项目多推荐或已整合进 OpenKE 框架,不再维护,但是 OpenKE 要求在 Linux 环境下,虽然 windows 环境也能用 OpenKE,有的博主也出有相关文章,但评论区好多叫苦不迭,我没有尝试。于是我在虚拟机中装好了 ubuntu20.04 并配置好 pytorch 环境,按照网上的教程,直到输入最终的运行命令,发现GPU环境没有配好,搜遍网上教程,首先安装 Nvidia 驱动就让我崩溃,与网上的教程步骤不符,命令并不推荐安装哪个版本,我去官网查了版本后,安装成功,但是nvidia-smi始终处于不能显示信息,报错NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver,尝试了网上各种方法未能解决,最终看到文章说,虚拟机中不支持Nvidia驱动,这才停止。后续我会考虑逐个在windows上复现经典论文,安装双系统,或直接重装成Linux系统。本文第一、二节大家可以借鉴,第三节部分解决方案可以参考,其余章节大家就当笑话看吧

🍀 后续更新

WIN 11 安装 Ubuntu 20.04 (双系统)(2022.02.28)
Ubuntu 20.04(双系统) 弹窗根目录容量为 0 的解决办法(2022.03.01)
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)
OpenKE 的使用(一)— TransE 论文复现
TransE,知识图谱嵌入(KGE)源码阅读(一)
OpenKE 的使用(二)— TransX 系列论文复现
OpenKE 的使用(三)— Rescal 和 Dismult 论文复现
OpenKE 的使用(四)— HolE 和 ComplEx 论文复现
ConvE,知识图谱嵌入(KGE)论文复现(Ubuntu 20.04)


一、准备工作:VM 中 Ubuntu 20.04 系统 git 的配置及与 github 的连接

🍀 ubuntu 中 git 安装

在这里插入图片描述

🍀 ubuntu 中 git 配置

配置本地用户名和邮箱,算是本地 git 的一个标识,这和 github 一点关系也没有

在这里插入图片描述

🍀 生成本地 SSH Key

SSH 为 Secure Shell 的缩写,为建立在应用层基础上的安全协议,由 IETF 的网络小组(Network Working Group)所制定,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他多种操作平台,在正确使用时可弥补网络中的漏洞。

在这里插入图片描述

🍀 在 GitHub 上配置 SSH

在本地生成的公钥放到 github 对应位置,这样就使得本地仓库与github建立练习,使得用 git 命令可以对 github 进行操作和管理

上述我的第一个命令有问题,少加了参数,不过不要紧,改为:

ssh-keygen -t rsa -C "github_name" #其中 github_name 为 github 注册的邮箱

在这里插入图片描述
在这里插入图片描述

🍀 检测是否可用

ssh -T git@github.com

在这里插入图片描述


二、OpenKE 的介绍和使用

介绍: 知识表示学习框架 OpenKE-PyTorch版 使用指南


使用:

🍀 下载 PyTorch 版代码到本地

git clone -b OpenKE-PyTorch https://github.com/thunlp/OpenKE

在这里插入图片描述


🍀 进入目录,编译 make.sh 文件

cd OpenKE/openke
bash make.sh

在这里插入图片描述
出现错误是因为没有安装g++编译器,运行以下命令来安装:

sudo apt-get install g++

附卸载命令,用于重装:

sudo apt-get remove g++

在这里插入图片描述
之后,重新编译即可,不返回任何值,说明编译成功


🍀 拷贝训练模型的文件

回到OpenKE目录(上级目录),拷贝examples文件夹中的文件到同级目录下(这里使用TransE算法、FB15K237数据集)

cd ../
cd examples/train_transe_FB15K237.py ./

在这里插入图片描述
移动后,文件如下图所示

在这里插入图片描述


🍀 创建 checkpoint 文件夹

后边训练模型会用到

mkdir checkpoint
ls

在这里插入图片描述


🍀 训练 TransE 模型

python train_transe_FB15K237.py

不能进行训练,出现了各种问题,如下文所示


三、可能出现的问题的解决方法及踩坑实录

🍀 conda 报错不能使用

在这里插入图片描述

使用下列命令更新:

bash Anaconda3-5.3.1-Linux-x86_64.sh -u

恢复正常

在这里插入图片描述


🍀 提示不存在 torch 模块

这次使用下边这条命令更新,不用官网的命令,太慢了:

pip install torch -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

在这里插入图片描述
安装 torch 成功,运行,再次报错,没有 Nvidia 驱动 , 其实是深度学习环境没有配好

RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx

在这里插入图片描述

遇到新问题如下,解决完再说


🍀 磁盘空间大小不足,显示剩余 0

在这里插入图片描述

我又扩展了20 G的空间,然后分区,通过软件 gparted(安装如下):

在这里插入图片描述
打开:
在这里插入图片描述
在这里插入图片描述

将 sda2 拉到最大:

在这里插入图片描述

将 sda5(挂载到根目录下)拉到最大,扩大根目录的容量:

在这里插入图片描述


🍀 踩坑:VM 中 Ubuntu 的 Nvidia 驱动

先添加源:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

检查可以安装的驱动版本:我的没有提示和推荐

在这里插入图片描述

然后我查了官网,自己的电脑应该装哪个版本的驱动,按照下边这条命令安装:

sudo apt install nvidia-driver-510

显示成功安装


🍀 CUDA 安装

在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
sudo sh cuda_11.6.0_510.39.01_linux.run

在这里插入图片描述
输入accept后,空格取消选中第一个,cuda安装包是自带显卡驱动的,所以这一步按空格去掉安装显卡驱动的选项:

在这里插入图片描述
下选install,点击后回车:

在这里插入图片描述
安装成功。如果失败,可能是之前的没有卸干净,如有卸载需求,参考此博客

在这里插入图片描述
环境变量配置好,便可以用nvcc -V查看cuda信息了

export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

如下图所示,证明cuda安装成功,同时图中显示驱动确实也在

在这里插入图片描述
但是nvidia-smi出现问题:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

看网上说原因是,系统内核升级了,导致新版本内核和原来显卡驱动不匹配,我参考这篇文章的方法尝试解决

在这里插入图片描述
也快把全网的方法都试了,不能成功,我以为是自己的操作问题


后来才发现,虚拟机中英伟达驱动不支持,看到这里,如果不是虚拟机中安装ubuntu系统,本文可以继续看下去,否则希望停止踩坑

请添加图片描述
请添加图片描述


踩坑结束,驱动不能用,那就没必要再进行安装深度学习环境(Pytorch+GPU)了,希望大家引以为戒,避开虚拟机这个坑,老老实实装Windows+Linux双系统环境吧,使用OpenKE进行模型的训练,将不久配好环境后进行更新,感谢大家的持续关注…


附录

🍀 Windows下 git 的配置及与 github 的连接

win+R:cmd
确认自己已安装:git --version 
git config --global user.name "zax"
git config --global user.email "zaxuestc2021@qq.com"
git config -l

打开git bash:
在这里插入图片描述
确认一下:

在这里插入图片描述

开始配置:

在这里插入图片描述

最终结果:

在这里插入图片描述
说明:如果使用 Git Bash 克隆,用 ls、cd、pwd三个命令可查看克隆项目的所在目录

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《新概念51单片机C语言教程:入门、提高、开发、拓展》从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。《新概念51单片机C语言教程:入门、提高、开发、拓展》内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。《新概念51单片机C语言教程》配套光盘提供13讲近30学时的教学视频和《新概念51单片机C语言教程》实例代码,可使读者更快更好地掌握单片机知识和应用技能。《新概念51单片机C语言教程》作者还可提供与《新概念51单片机C语言教程:入门、提高、开发、拓展》配套的单片机实验板。   《新概念51单片机C语言教程:入门、提高、开发、拓展》可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。 《新概念51单片机C语言教程:入门、提高、开发、拓展》组织:   全书分为勾5篇,入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇   特别按照初学者所遇到的问题和需求路径安排全书内容   以应用需求为主线,搭建了单片机技术上下游的知识体系   从实际工程应用入手,通过实验过程和现象讲解单片机原理,可读性好   内容源于大量科研和教学实践,许多C语言代码可直接应用到工程项目中,实用性强   配套学习光盘,并可提供学习用实验板,可以边学边练学习资源:   读者对象:   高校电子信息类和机电类专业本/专科师生   高校大学生创新基地师生   51单片机C语言编程初学者   计算机、自动控制、智能仪器仪表、电力电子、机电一体化技术人员
TDengine是一种高性能、高可靠的时序数据库,由中国企业开发而成。然而,有些用户认为TDengine存在许多问题,因此将其称为"巨坑"。以下是一些可能导致用户这样形容TDengine的问题: 首先,TDengine在与其他数据库集成时可能存在兼容性问题。由于其独特的架构和设计理念,一些已有的应用程序或工具可能无法直接适配TDengine。这可能导致用户需要进行大量的修改或重写现有代码,对于一些复杂的应用场景来说,这可能是一项耗时且繁琐的工作。 其次,TDengine的文档和教程相对较少。对于新用户来说,他们可能很难找到足够的资源来学习和理解TDengine的使用方法和最佳实践。这可能给用户带来一些困扰,特别是在遇到问题时很难找到解决办法。 此外,TDengine在某些方面的性能可能不如用户期望。虽然它被称为高性能数据库,但是与其他同类产品相比,TDengine可能在某些场景下的性能表现不如人意。这可能导致一些用户对TDengine的性能感到失望,并在使用过程中遇到一些瓶颈。 最后,TDengine可能也存在一些稳定性问题。尽管它被标榜为高可靠性数据库,但在实际使用中,一些用户可能遇到了一些无法解决的故障或崩溃问题。这可能对用户的业务和数据产生一定的影响,并损害用户对TDengine的信任度。 总之,尽管TDengine在性能和可靠性方面具备一定的优势,但也不能否认它目前还存在一些问题。用户在选择使用TDengine时需要充分了解其特点和局限性,并根据自身业务需求评估是否适合使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白白净净吃了没病

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值