22年12月log整理剩余

  1. 报错1:
    1. 报错:torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 23.69 GiB total capacity; 21.59 GiB already allocated; 20.31 MiB free; 22.15 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    2. 原因:内存不够了
    3. 解决:改小batch_size
  2. 报错2:
    1. 报错:E: Package ' *** ' has no installation candidate
    2. 解决:依次运行:apt-get update,apt-get upgrade(过程十分漫长),然后再重新执行安装指令
  3. 报错3:
    1. 报错:安装kaldi报错:Intel MKL does not seem to be installed.
    2. 解决:参考:https://blog.csdn.net/Noooo0ob/article/details/122936006
      1. 进入tools目录,执行:extras/install_mkl.sh (时间较长)
      2. 再运行extras/check_dependencies.sh,就可以看到已经安装好了
  4. 报错4:
    1. 报错:执行apt-get upgrade报错:Errors were encountered while processing:  /tmp/apt-dpkg-install-FdgT0V/08-tzdata_2022f-0ubuntu0.20.
    2. 解决:
      cd /var/lib/dpkg
      mv info info.bak
      mkdir info
      apt-get upgrade
  5. 报错5:
    1. 报错:Collecting torch Killed
    2. 解决:在pip指令后加上 --no-cache-dir
  6. 报错6:
    1. 报错:Unable to locate package
    2. 解决:apt-get update
  7. 深度学习环境请一定去官网下安装包,不要直接搜“Ubuntu18.04 CUDA11.3 安装pytorch”之类的,你搜到的真的不一定和你的环境是一样的。用官网安装能解决深度学习框架安装的90%问题
  8. 下载tensorflow不同whl的网址:https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow/
  9. https://www.lfd.uci.edu/~gohlke/pythonlibs/  可以查看安装的包对应的python版本cp38表示对应3.8版本
  10. wsl 安装docker:
    1. curl https://get.docker.com | sh
    2. 然后再启动:sudo service docker start
  11. 如果需要编译安装的github源码一直因为格式安装不了:
    1. 分析原因:可能是因为是从windows上下载然后再迁移到linux的原因)
    2. 解决:直接在虚机中git clone 不要经过windows转移
  12. csv文件:
    1. 逗号分隔值
    2. 保存形式:其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
    3.  分割符号:CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。
  13. num_batches_tracked

    1. BatchNorm, 批规范化,主要用于解决协方差偏移问题,主要分三部分:

      1. 计算batch均值和方差

      2. 规范化

      3. 仿射affine

    2. 均值和方差是batch的统计特性,pytorch中用running_mean和running_var表示
    3. \gamma和\beta是可学习的参数,分别是affine中的weight和bias
    4. track_running_stats: 决定是否跟踪整个训练过程中的batch的统计特性,而不仅仅是当前batch的特性。
    5. num_batches_tracked:如果设置track_running_stats为真,这个就会起作用,代表跟踪的batch个数,即统计了多少个batch的特性。
  14. 删除文件时遇到“你需要来自administrator的权限才能对此文件夹进行更改”, 重启之后就可以了
  15. 从github上仅下载单个文件,点击要下载的文件进入,点击raw右键,从链接另存文件为。
  16. .torrent格式的文件是种子,使用迅雷打开就可以下载对应的文件
  17. 将git clone的仓库变成普通的文件夹:删除.git 文件夹,以及.gitignore文件即可
  18. 注意安装svn:apt-get install subversion,安装awk:apt-get install gawk
  19. docker创建可使用gpu的容器:
    1. docker run --gpus all --name test  -d -t ubuntu:18.04  (这个是正确的指令!!!):docker run --gpus all --name 容器名 -d -t 镜像名:tag
    2. 所有显卡都对容器可见:docker run --gpus all --name 容器名 -d -t 镜像id
    3. 只有显卡1对容器可见:docker run --gpus="1" --name 容器名 -d -t 镜像id
  20. 编程知识
    1. enumerate 最终返回的是已经封装好的一个迭代器

    2. pytorch中查看tensor数据array格式的方法:

      1. 法一:.data.detach().cpu().numpy()

      2. 法二:tensor.size()

    3. [:,None]: None表示新增一个维度,并且上方的代码表示在第二维新增一个维度,例如果原始维度为(5,5),则操作之后的维度为(5,1,5),即None放在哪一维,哪一维上就出现新的维度

    4. list中使用三个点:表示省略所有的冒号,用省略号来代替

    5. 只获取tensor中的值:

      1. x.cpu().numpy()   (对于tensor没有在模型中的情况)      

      2. 放置到cuda上并且已经在模型中的情况:x.cpu().detach().numpy()

你可能感兴趣的:(经验,linux,vim,运维)