最近在跑代码时候遇到一个问题:在 Linux 的 shell
运行代码,但是代码出了点问题, shell 中无法进行调试,只能借助 PyCharm
进行调试,于是乎记录 PyCharm 如何进行交互式 shell 断点调试。
举个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| python run_ddie.py \ --task_name MRPC \ --model_type bert \ --data_dir new_tsv_dir \ --model_name_or_path scibert_model \ --per_gpu_train_batch_size 32 \ --num_train_epochs 3. \ --dropout_prob .1 \ --weight_decay .01 \ --fp16 \ --do_train \ --do_eval \ --do_lower_case \ --max_seq_length 128 \ --use_cnn \ --conv_window_size 5 \ --pos_emb_dim 10 \ --activation gelu \ --desc_conv_window_size 3 \ --desc_conv_output_size 20 \ --molecular_vector_size 50 \ --gnn_layer_hidden 5 \ --gnn_layer_output 1 \ --gnn_mode sum \ --gnn_activation gelu \ --output_dir output_dir \ --fingerprint_dir fingerprint_dir
|
在 Debug 之前,我们需要先设置以上参数:
点击工具栏的 Run 然后点击 Edit configurations。
在跳出来的弹窗中把一下参数复制到 Parameters,然后点击 Apply
即可。
1
| --task_name MRPC --model_type bert --data_dir new_tsv_dir --model_name_or_path scibert_model --per_gpu_train_batch_size 32 --num_train_epochs 3. --dropout_prob .1 --weight_decay .01 --fp16 --do_train --do_eval --do_lower_case --max_seq_length 128 --use_cnn --conv_window_size 5 --pos_emb_dim 10 --activation gelu --desc_conv_window_size 3 --desc_conv_output_size 20 --molecular_vector_size 50 --gnn_layer_hidden 5 --gnn_layer_output 1 --gnn_mode sum --gnn_activation gelu --output_dir output_dir --fingerprint_dir fingerprint_dir
|
接下来开始调试,需要在run_ddie.py
中需要调试的地方先打上断点,然后开始
Debug:
然后就 OK 啦。