1. “View as Array”时值不显示的问题
Python调试中,当参数为一个ndarray时,选择“View as Array”想完整地查看参数值时,发现只显示行标和列标,值并不显示。
此时在打开界面的左下角,不要再选择“colored cells”选项,即可看到完整的参数值。
2. Pycharm调试只在特定条件触发断点的方法
在断点所在行右键单击,出现对话框,在“Condition”选项框中输入触发断点的条件,如
interaction_steps % num_new_data == 0
但这里需要注意,设置断点条件时,通常情况下不能使用局部变量,因为这些变量只在循环内部的作用域中定义,如
for step in range(num_steps):
不能用step设置断点条件,此时应该定义一个全局变量来触发断点,如
global_step = 0
for step in range(num_steps):
global_step += 1
此时可以设置断点条件为
global_step == 你希望迭代停止的次数
3. 字号调整
代码区字号调整:在“File”——“Settings”——“Editor”——“Font”界面选择字体和字号。
工作区字号调整:在“File”——“Settings”——“Appearance & Behavior”——“Appearance”界面中勾选最上侧的“Use custom font”选项框,然后选择字体和字号。
4. 变量名的一键替换
先选中要替换的变量名,然后使用快捷键“Shift+F6”,在弹出的“Rename”对话框的第一个输入框内键入变量的新命名,再选择“Refactor”即可完成一键替换。
5. Figure图像设为手动关闭的方法
在神经网络训练完成后,会画出图像。但若不小心点击别的地方,图像会自动关闭。为了避免这一情况,可在画图代码后添加一行代码
......
plt.show()
# 防止代码执行需要等待输入的input()函数而被阻塞,从而导致“Figure”界面“未响应”
# 解决方法:将 input() 函数调用放在一个单独的线程中来避免阻塞
plot_thread = threading.Thread()
plot_thread.start()
input("Press Enter to close the plot...") # 保证不会不小心点到别的地方而导致图像自动关闭
plot_thread.join() # 等待绘图线程结束
6. 调试时在代码区完整显示变量值的方案
当调试来观察变量值时,变量值有时候会折叠,每次都需手动点开,无疑降低了调试效率。所以可在“Variables”面板中选择要查看的变量,右键后在弹出的菜单中选择“Add to Watches”,这样就可以在代码区完整地显示变量值。
7. 多条语句的一键注释和移除
快捷键“ Ctrl + / ”(Windows)可一键注释多条语句并可一键移除所有注释。