嘘~ 正在从服务器偷取页面 . . .

编程软件trick


jupyter notebook

jupyter notebook使用:https://zhuanlan.zhihu.com/p/32320214

在jupyter notebook中,可直接调用arr.dtype arr.shape显示np相应的属性

from tqdm.notebook import tqdm

image-20211105235206404

tqdm中简单一行的进度条

整体缩进

1.选中要缩进的代码。

2.按Tab键,这样就可以实现整体缩进了。(Shift+Tab是向前缩进)。

py文件运行

在jupyter notebook中,运行 %run name.py

命令行

ipython api

%!都用于命令行操作,区别在于:

!开一个新的progress,执行完之后立即终止;provided by the Jupyter
%的操作会持续;provided by the IPython kernel

%load_ext autoreload
%autoreload 2
# 在执行用户代码之前重新加载模块的 IPython 扩展。
# autoreload在输入执行在 IPython 提示符下键入的代码之前自动重新加载模块。
# 这使得例如以下工作流程成为可能:
%load_ext autoreload
%autoreload 2
from foo import some_function
some_function()
Out[4]: 42
# open foo.py in an editor and change some_function to return 43
some_function()
Out[6]: 43
# 模块在没有显式重新加载的情况下被重新加载,并且导入的对象也被更新。
%autoreload 0 # 禁用自动重新加载。
%autoreload 1 # 每次执行键入的 Python 代码之前,重新加载所有使用 %aimport 导入的模块。
%autoreload 2 # 每次执行键入的 Python 代码之前,重新加载所有模块(%aimport排除的模块除外)。
%aimport # 列出要自动导入或不导入的模块。
%aimport foo # Import module ‘foo’ and mark it to be autoreloaded for %autoreload 1
%aimport -foo # Mark module ‘foo’ to not be autoreloaded.

使用argparse模块

image-20220510222023478

jupyter notebook训练的话

可能会把中间结果全保留,需要使用torch.cuda.empty_cache()

pycharm

pycharm配置anaconda环境

注释:Ctrl+/

取消注释:Ctrl+/

ctrl+左键就会跳到函数定义处,还有查找函数在哪里使用的

鼠标中键Find Usages

把光标放在要查询的对象上,打开视图菜单,quick definition查看对象的定义,quick documentation 快速文档,这个是jet brains自己对python的解释文档,第三个external documentation 外部文档,这个是python 的官方帮助文档,调转到网页帮助文档中。

在Run/Debug Configurations中,Parameters传入参数:

参数

Environment variables传入环境变量:

环境变量

教育邮箱申请pycharm专业版

PyCharm中Python代码提示:Shadows name from outer scope

函数内部的变量,如果和函数被调用的外部的变量一样的话,就被PyCharm中叫做shadows name

这样的话,容易引发不容易觉察到的,由于函数内部和外部的变量名一致而引发的一些问题:

比如:内部函数名引用时不小心写错了时,就会导致其实调用了外部变量名,从而导致逻辑错乱。

所以解决办法是:

确保函数内部和外部的变量名不要重复,这样就不会导致可能由此导致的错误了。

配置python编译器

配置编译器

notepad++

编辑->行操作->删除空行,可以一键去除空行

VSCode

远程连接过程试图写入的管道不存在

打开本地的Known_hosts,将对应的要连接的服务器的记录删掉,再重连就可以了

ALT+左键,后退;ALT+右键,前进。

空格和Tab不能混用,否则会报错,红色的波浪下划线

解决vscode 获取扩展失败,XHR failed

使用代理的问题,把vpn关掉就行了

vscode调试

launch.json配置调试环境:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 当前文件",
            "type": "python",
            "request": "launch",
            "program": "${file}",# 假设是python tools/run.py,那么program就是指的tools/runpy
            "console": "integratedTerminal",
            # 执行python文件的命令函参数
            "args": [
                "--num-steps", "48320", 
                "--help-info", "替换为dce"
            ],
            # 设置当前工作目录为当前目录
            #"cwd":""
            # 
            "cwd": "${fileDirname}"# 设置当前的工作目录
        }
    ]
}

在一侧的监视:

image-20211127150020601

可以设置要监视的变量

在vscode中,命令行操作输入部分后按Tab可以自动补全文件名

调试ddp分布式代码

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 当前文件",
            "type": "python",
            "request": "launch",
            # 设置使用torch分布式包中的launch.py文件来作为启动脚本
            "program": "/home/dch/anaconda3/lib/python3.8/site-packages/torch/distributed/launch.py",
            "console": "integratedTerminal",
            "args": [
                "--nproc_per_node=2", 
                "/home/dch/ProCA/train_src.py", 
                "-cfg", "configs/gta5/deeplabv2_r101_src.yaml"
            ],
            "cwd": "${fileDirname}"
        }
    ]
}

文章作者: Dch
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Dch !
评论
  目录