VS code 远程连接服务器步骤

①安装VS code,并连接远程服务器(本地也需要有ssh)。参考🔗

②免密钥登录设置,参考🔗    设置SSH通过秘钥登陆

  1、具体步骤:WIN+R -->cmd, 输入ssh-keygen,然后一直Enter,最终生成公钥(id_rsa.pub)和私钥(id_rsa)(文件位置位于/.ssh文件夹下)。

  2、接下来将公钥上传至服务器:通过Ftp工具连接服务器,查看隐藏文件,找到.ssh文件夹,将本地的公钥内容复制到.ssh文件夹中。

  3、(1)在服务器上安装公钥:

    cd ~/.ssh
    cat id_rsa.pub >> authorized_keys
    ls =>查看确保生成功authorized_keys

      (2)为了确保链接成功,请保证文件权限正确:

    sudo chmod 600 authorized_keys
    sudo chmod 700 ~/.ssh

      (3)查看或配置打开秘钥登陆功能(默认不需要修改配置):

    打开SSH配置文件: sudo vim /etc/ssh/sshd_config

    查看确认下面两项配置:RSAAuthentication yes     PubkeyAuthentication yes

          (4)完成全部设置后,并以秘钥方式登陆成功后,再禁用密码登陆: PasswordAuthentication no

     (5)重启SSH

VS code简体中文,参考🔗

环境安装步骤:

1:anaconda 的安装。 (解决:报错:conda: command not found)(vim编辑

安装 Anaconda3
bash Anaconda3-2019.10-Linux-x86_64.sh

创建Python环境: 代表创建一个python3.5的环境,我们把它命名为python35
conda create --name py27 python=2.7

# To activate this environment, use 管理和使用python环境 , 来激活创建的环境
conda activate py27

# To deactivate an active environment, use
conda deactivate

conda 移除python环境
conda remove -n python3.6 --all 查看Python环境: 可以看到所有python环境
conda env list
查看已安装的包
pip list
查看pytorch的版本
python
import torch
torch.__version__
cuda、、cudnn、torch、torchvision对应版本 官网版本 安装 conda install pytorch
=1.1 torchvision cudatoolkit=10.0 conda install pytorch=1.1 torchvision cudatoolkit=11.1 pip install tensorboard_logger
------------------------------------------------------------------------------

查看linux系统中的CUDA 版本号: cat /usr/local/cuda/version.txt
查看CUDNN 版本号: cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
------------------------------------------------------------------------------
Ubuntu 更改CUDA的版本, 添加CUDA到bashrc环境变量    多个CUDA版本选择
在使用下面命令的时候,会出现找不到该命令,但是cuda已经安装好了,这是因为cuda环境变量有问题,执行的命令为:
nvcc -V
需要添加的环境变量,我安装的是cuda-10,这里根据安装的cuda版本自行更改下面的配置, vim ~/.bashrc:

export PATH=/usr/local/cuda-10.0/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

source ~/.bashrc
nvcc -V
输出为:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

 

查找 CUDA 安装目录:CUDA 安装通常会在服务器上的特定目录中。您可以尝试在系统中查找 CUDA 安装目录,然后检查该目录中的版本信息文件。具体路径取决于操作系统和 CUDA 版本。以下是一些常见的 CUDA 安装路径:

  • Linux:默认情况下,CUDA 可能安装在 /usr/local/cuda 目录下。您可以在该目录中查找 version.txt 文件,其中包含了 CUDA 版本信息。

------------------------------------------------------------------------------
安装Pytorch-1.1失败:
到下面的网站可以直接下载: https://anaconda.org/pytorch/pytorch/files?version=1.1.0
下载好后conda install --offline filename即可 (但会出现环境变量问题,该方法不可行),采取:
conda 环境安装过程中由于网络问题 CondaHTTPError:,下载不成功。可以尝试手动下载安装包,偷梁换柱。操作步骤:🔗
conda 环境的复制 
conda env export > environment.yaml
conda env create -f environment.yaml
当conda导出的环境依赖不全时,即没有相关依赖的pip包,可以用以下命令导出和安装pip包 
pip freeze > requirements.txt

pip install -r requirements.txt
------------------------------------------------------------------------------
安装 Anaconda3 环境后:conda: command not found,解决
1)~/.bashrc文件没有配置好: vim ~/.bashrc
2)在最后一行加上: export PATH=$PATH:【你的安装目录】
Linux中vim编辑方式:i或者a进入插入编辑模式,ESC键退出,:或者/进入命令模式
(:wq保存并退出,:q退出不保存,:q!强制退出不保存)
3)运行source ~/.bashrc 保存
------------------------------------------------------------------------------
screen 全屏窗口管理器

screen -S session_name # 新建一个session
screen -ls # 列出当前所有的session
screen -r session_name # 进去name对应的session,这里也可以输入session id,同样有效
screen -d session_name # 远程detach某个session,这里也可以输入session id,
screen -d -r session_name # 结束当前session并回到session_name
screen -wipe # 清理那些dead的session
exit或者ctrl+d #退出当前screen窗口,结束当前screen窗口,不想再连接回来(即杀死会话)

  • 如果是想结束掉当前screen,可以 Ctrl+d 的方式退出。
  • 如果是想detach当前screen,就是让他后台运行用 Ctrl+a+d,暂时离开当前session,每个 screen 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

C-a d #进入screen窗口后,想暂时退出(等会还想连接这个screen窗口)
C-a c #screen 在该会话内生成一个新的窗口并切换到该窗口
C-a n #切换到下一个窗口;
C-a p #切换到前一个窗口
C-a k #关闭当前窗口
C-a w #列出当前窗口(不知道为什么我不显示)
C-a tab #切换屏幕

------------------------------------------------------------------------------

文件解压Linux命令

解压命令unzip和tar和打包命令以及xz、bz2、gz压缩格式的文件解压 --> 链接

 ------------------------------------------------------------------------------

报错:PackagesNotFoundError: The following packages are not available from current channels

解决方法(详细链接):

(1)当出现这种报错时,应该首先尝试使用以下命令将conda-forge channel添加到你的channel列表中:

conda config --append channels conda-forge

(2)在 https://anaconda.org 这个网址,在上方的搜索条上搜索你要安装这个包的其他channel,接着在你的命令行窗口或Anaconda Prompt窗口对应的路径下运行页面中提供的任意一条命令即可。

(3)如果上述这些命令经过一一尝试都无效,那只有下载该python包对应的本地“***.bz2”本地文件,然后利用annaconda进行本地安装。把下载好的“python-igraph-0.8.3-py38h0d6bca7_2.tar.bz2”这个安装包放到anaconda存放包的目录下,如:D/anaconda3/pkgs/~

然后执行命令:conda install --use-local python-igraph-0.8.3-py38h0d6bca7_2.tar.bz2

即可完成安装。(bz2前的包名根据你所需要的包而不同,“python-igraph-0.8.3-py38h0d6bca7_2.tar.bz2”是我所安装的igraph)

 ------------------------------------------------------------------------------

使用pip install时,提示Using Cached 解决方案:

pip3 --no-cache-dir install -r requirements.txt

 

查看
watch -n 1 nvidia-smi
------------------------------------------------------------------------------
保存到text文件中 
np.savetxt(r
'//sim_PNAN.txt',sims,fmt='%.5f')
np.save(r
'',attn_max[queryL:].cpu())
np.save(r
'',attn_max[queryL:].cpu())
np.save(r
'',attn_max[:queryL].cpu())
------------------------------------------------------------------------------
查看当前的进程GPU 
fuser
-v /dev/nvidia*
杀死进程
kill 进程号
杀死用户的所有进程
killall -u name_of_user
杀死某张卡上的所有进程(第5张卡 nvidia4)
fuser -v /dev/nvidia4 | awk '{print $0}' |  xargs kill -9 
------------------------------------------------------------------------------
vscode 无法连接服务器,但是Xshell, Xftp等都可以正常连接解决办法
  1. 打开C盘下的/user/<user_name>/.ssh文件夹,找到known_hosts文件;
  2. 用记事本打开该文件,可以看到如下所示的界面:
    1. 删除所要连接服务器IP相关的信息;
    2. 此时再用VSCode连接服务器,就一切正常了。
------------------------------------------------------------------------------

  查看nn.linear 的具体学习参数:

  for parameters in net.parameters():

      print(parameters)

  或者:

  conv1.weight : torch.Size([6, 1, 3, 3])
  conv1.bias : torch.Size([6])
  fc1.weight : torch.Size([10, 1350])
  fc1.bias : torch.Size([10])

------------------------------------------------------------------------------

  pytorch 保留小数点链接

  简单实现为:

#保留三位小数截断 python3
print(int(1.23456 * 1000) / 1000 )
------------------------------------------------------------------------------
Pytorch 指定GPU 链接
PyTorch 中的 Tensor,Variable 和 nn.Module(如 loss,layer和容器 Sequential)
等可以分别使用 CPU 和 GPU 版本,均是采用 .cuda() 方法.
import torch
a
= torch.Tensor(2, 3) if torch.cuda.is_available(): # 判断是否支持 CUDA a.is_cuda # False a = a.cuda() # 放到 GPU 上 a.is_cuda # True a.get_device() # 默认使用 GPU-0

  在没有显式指定GPU的前提下,采用 .cuda() 方法默认使用的是 GPU-0,等价于 .cuda(0).

通常的指定GPU方法有:
1)使用 torch.cuda.set_device(id) 函数,例如:torch.cuda.set_device(id) # id=0, 1, 2 等
2)采用类似 Tensorflow 指定 GPU 的方式,使用 CUDA_VISIBLE_DEVICES
  2-1)使用终端命令行运行的 GPU 指定方式,例如:CUDA_VISIBLE_DEVICES=1 python python_script.py
  2-2)在 python 脚本中的 GPU 指定方式,例如:os.environ["CUDA_VISIBLE_DEVICES"] = "2"
3)torch.devise设置:
import torch

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
a_cpu = torch.Tensor(2, 3)
# tensor([[0.0000e+00, 0.0000e+00, 1.2771e-40],
#         [9.0079e+15, 1.6751e-37, 2.9775e-41]])
a_cpu.device
# device(type='cpu')

a_cuda = a.to(device)
# tensor([[-2.1800e-01,  4.5737e-41,  2.3351e-37],
#         [ 0.0000e+00,  4.4842e-44,  0.0000e+00]], device='cuda:0')
a_cuda.device
# device(type='cuda', index=0)

# 查看当前 gpu id
curr_gpuid = torch.cuda.current_device()
# 0
------------------------------------------------------------------------------
当显示找不到文件时,可能是系统路径中没有,添加即可:
import os
import sys

current_dir = os.path.dirname(os.path.abspath(__file__))
print(current_dir)
sys.path.append(os.path.join(current_dir, ".."))
常用的pathon 文件操作参考🔗
(1)使用 os 模块的 os.path.exists 函数来判断路径是否存在,不存在时进行创建:
import os
 
path = '/path/to/dir'
if not os.path.exists(path):
    os.makedirs(path)

(2)获取文件下的所有文件名,或输出所有文件的路径:

import os
dir_path = r'C:\Users\Smile\Desktop\'
file_ls = os.listdir(dir_path)  #获取所有文件名称,为list列表

file_path = [os.path.join(dir_path, file) for file in file_ls] #获取所有文件路径

(3)获取文件下的所有文件名,包括子文件夹下的所有文件,或输出所有文件的路径:

通过os.walk方法进行。它返回3个参数——根目录、根目录下的所有文件、根目录下的子文件夹。

path = r'C:\Users\Smile\Desktop\周汇报'
for root, dirs, files in os.walk(path):
    print(root)

# 输出
# C:\Users\Smile\Desktop\周汇报
# C:\Users\Smile\Desktop\周汇报\数据

# 得到根目录下所有的文件路径:
path = r'C:\Users\Smile\Desktop\周汇报'
file_ls = []
for root, dirs, files in os.walk(path):
    root_file_ls = [os.path.join(root, file) for file in files]
    file_ls.append(root_file_ls)

(4) 获取指定后缀的文件

路径的本质是字符串,可以使用endswith方法来判断路径是否以某个字符结尾。现在将r’C:\Users\Smile\Desktop\周汇报’直接路径下(不含子文件夹)的所有docx文件输出。

path = r'C:\Users\Smile\Desktop\周汇报'
file_ls = []
for root, dirs, files in os.walk(path):
    root_file_ls = [os.path.join(root, file) for file in files]
    file_ls.append(root_file_ls)
#因为上面循环了两次,第二次是子文件夹的文件,所以取出第1个元素
#使用endswith判断是否以docx结尾
file_ls = [file for file in file_ls[0] if file.endswith('.docx')]

(5)修改文件名:os.rename(old_name, new_name)  old_name和new_name都是路径

(6)删除/移动文件:删除文件使用os.remove(路径名) 此时的文件夹必须是空文件夹,否则会报错;如果是非空文件夹,使用shutil.rmtree(path)即可成功删除

import shutil
shutil.move(old_name, new_name)

(7)获取文件所在的文件夹:使用os.path.dirname(path)

------------------------------------------------------------------------------
Linux 文件操作:链接 详细链接
查看当前目录:pwd
从根目录进入home目录下,采用绝对路径。“/”表示跟目录: cd /home
单点符(.)表示当前目录: cd .
双点符(..)表示上层目录,返回上次目录: cd ..

删除文件
rm -f 文件名
删除文件夹
rm -rf 文件夹

复制文件
cp 原文件 目标路径/ 例如:cp   /home/test.txt    /home/test/
复制文件夹
cp -r 原目录 目标目录 例如:cp -r dir1 dir2 (如果dir2目录不存在,则可以直接使用); 如果dir2目录已存在,则需要使用:cp -r dir1/. dir2(如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中)

 

docker创建镜像image
docker image build -t py27 .

docker 查看所有镜像
docker image ls

生成容器container
docker container run -it py27 /bin/bash

查看容器
docker ps

docker container start fb1d96f591b4
进入容器
docker exec -it fb1d96f591b4 /bin/bash

docker port determined_bardeen 22

ssh root@202.85.220.177 -p 22212
vim /etc/ssh/sshd_config

 json文件的读取和保存:Python中json的load、loads、dump、dumps的用法

data_being_processing_path = ''

with open(data_being_processing_path, 'r') as f:
    for line in f:
        data = json.loads(line)
        new_data = {"instruction": "", "input": "", "output": ""}
        new_data["input"] = data['Input']
        new_data["output"] = data['Output']

        with open('../output.json', 'a') as file:
            json.dump(new_data, file, ensure_ascii=False)  # ensure_ascii=False为中文输出
            file.write('\n')
            file.close()

 将MathType嵌入到office word中:链接     Latex公式转为word在线工具

# 以下步骤
1:找到office安装路径,一般为:C:\Program Files\Microsoft Office\root\Office16
以及一下路径:C:\Program Files\Microsoft Office\root\Office16\STARTUP\

2:找到MathType安装路径,将mathtype中的
C:\Program Files (x86)\MathType\MathPage\64的”MathPage.wll“;
C:\Program Files (x86)\MathType\Office Support\64的”WordCmds.dot“ 和 ”MathType Commands 6 For Word 2013.dotm“ 这三个文件。复制到Office 安装路径中的:
C:\Program Files\Microsoft Office\root\Office16\STARTUP 中。

3. 关闭所有office软件,重新打开,或者重启电脑

 scp 服务器之间的文件传输:链接

scp file username@ip:filepath
  说明:
  file: 要拷贝的文件名
  username: 远程登录的用户名,
  ip:远程服务器ip
  filepath:远程文件路径

拷贝文件夹命令如下(多加上一个-r 参数即可):
scp -r file username@ip:filepath

一些例子:
把当前一个文件copy到远程服务器上:scp /home/a.txt root@192.168.0.8:/home/root
复制文件夹:scp -r root@192.168.0.8:/home/ /root/home2

 

在Linux中,Git是一个非常流行的分布式版本控制系统,用于跟踪和管理项目的代码变化。下面是一些常用的Git命令及其含义和用法:

git init: 在当前目录中初始化一个新的Git仓库。
用法:git init

git clone: 克隆(复制)一个远程Git仓库到本地。
用法:git clone <远程仓库URL>

git add: 将文件添加到Git的暂存区(stage)。
用法:git add <文件名> 或 git add .(添加当前目录下的所有文件)

git commit: 将暂存区的文件提交到本地仓库。
用法:git commit -m "提交信息"

git push: 将本地仓库的提交推送到远程仓库。
用法:git push <远程仓库名> <分支名>

git pull: 从远程仓库拉取最新的代码到本地仓库。
用法:git pull <远程仓库名> <分支名>

git branch: 显示、创建或删除分支。
用法:git branch(显示所有分支),
git branch <分支名>(创建新分支),
git branch -d <分支名>(删除分支)

git checkout: 切换分支或恢复文件。
用法:git checkout <分支名>(切换分支),
git checkout -- <文件名>(恢复文件到最近一次提交的状态)

git merge: 将一个分支的更改合并到当前分支。
用法:首先切换到目标分支,然后运行 git merge <源分支名>

git status: 显示当前仓库的状态,包括已修改和未暂存的文件等信息。
用法:git status

这些是Git的一些基本命令,涵盖了常见的版本控制操作。使用这些命令,您可以管理代码的版本、分支、合并更改以及与远程仓库进行交互。

 创建环境时,报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://conda.anaconda.org/conda-forge/linux-64/ 解决方法🔗

步骤1:vim ~/.condarc
步骤2:将源文件清空,下列内容黏贴进去:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

步骤3:保存退出

 

posted @ 2020-10-15 21:04  kkzhang  阅读(1442)  评论(0编辑  收藏  举报