SSHFS挂载远程目录
SSHFS: 可以让我们通过SSH文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录进行交互。
所以现在我们有两台机器:
- 本地机器; 包含代码和GPU
- 远程服务器/数据集机器; 包含大量数据, 不便转移
1.安装sshfs
在本地机器通过sudo apt install sshfs
安装sshfs
2.创建挂载目录
在本地机器创建一个新的目录给远程数据目录挂载:
mkdir -p ~/sshfs/dataset
3.挂载远程的文件
使用以下命令进行挂载
sshfs username@xxx.xxx.xx.xxx:/home/username/data ~/sshfs/dataset
命令格式类似scp传送文件; 含义是: 将目标目录,挂载到当前目录
4.验证远程文件是否挂载成功
ls
可以看到现在本地机器也有对应文件了
5.用程序训练, 验证一下
使用深度学习的训练文件, 将数据集路径改为刚刚挂载的目录
下面最开始运行时的信息也显示: data_path='/home/user/sshfs/dataset'
本地GPU使用情况, python
进程使用了6321Mib的GPU显存:
6.卸载远程的文件系统
该方法每次电脑关机就会失效
当然也可以手动卸载:
sudo umount ~/sshfs/dataset
再次验证, 卸载之后目录就为空了: