当前位置: 首页 > news >正文

关于如何解决问题?代码习惯。

警钟长鸣
在这里插入图片描述

从师哥身上学到的东西:
关于如何解决问题?
1、沟通:有效的沟通,将问题描述清楚,让老师和师哥明白你出了什么问题,给出建议,很多时候一句良言胜过自己摸索很久
2、出现问题由浅入深地debug,首先出现问题排查的顺序应该是先代码,再理论。
在代码找bug的过程中,如果确定你某个程序跑的结果不对,不要再继续试别的,想要“撞大运”指望跑着跑着“自己就好了”是不可能的。解决问题的最好办法就是直面问题本身,解决这个问题。
3、解决问题的过程中,就是控制变量,一步一步来,控制变量是原则,不要急急也没用。体现在各个方面,比如参数固定,测试某个代码块,看是哪部分出了问题。比如从数据本身入手,数据没问题,看模型,是否是模型的问题,再看是否是训练代码的问题。
4、用指标来测试,比如检测某些指标,证明你这个程序是错的,设计loss,acc实验。
之前发现mean(0)的错误的时候用的直接输出某个变量,发现对不上,那肯定是有问题。
5、如果有baseline,运行原来baseline的代码是正确的,但自己改后就不正确了,那么溯源,对着原来的代码进行对照实验。比如用baseline的训练自己的数据集,如果没问题那么就是自己新写的训练有问题。
6、同一个问题能用两种方法实现,同时实现两种方法,互相印证。
这次bug就是通过原来baseline的代码实现了另一种方法,发现和一开始写的第一种方法结果对不上,那么就是一开始写的代码有问题。
7、你需要对自己的代码负责,出了任何问题一定是你来解决,让别人替你debug是一种耻辱。无论出任何问题,一定是你最后解决,一定是你,不要想着推给别人。写的是答辩,也得你来改。
7、Never give up
8、Be positive. Interesting, let’s see what happens.

注意python的缩进!注意python的缩进!注意python的缩进!注意python的缩进!
注意python的缩进!注意python的缩进!注意python的缩进!注意python的缩进!

如果你的时间都放到de一个bug上,那我觉得这实际上是纯粹的浪费,debug的时间永远是浪费了的,不如去打把游戏,所以每次debug都是在浪费生命,你要警惕自己在干什么。
失去的时间不可追回,这次吃大亏了,以后一定要严谨治学,以规格严格的态度对待每一行代码。
养成好的代码习惯,写过的代码一定是对的,至少没有低级的错误。
知来者之可追。

相关文章:

  • Jupyter NoteBook未授权访问漏洞
  • 制作一个RISC-V的操作系统三-编译与链接
  • 后端部署-阿里云服务器-开设端口-域名解析-安全证书-备案
  • C#,数值计算——计算实对称矩阵所有特征值和特征向量的雅可比(Jacobi)方法与源程序
  • 源码安装git
  • 【BUG】SpringBoot项目Long类型数据返回前端精度丢失问题
  • Android Studio Giraffe版本遇到的问题
  • Backend - Django makemigrations
  • es常用查询编辑
  • SpringBoot集成i18n(多语言)
  • 精密制造ERP系统包含哪些模块?精密制造ERP软件是做什么的
  • java使用xstream框架生成xml文件
  • 5.【自动驾驶与机器人中的SLAM技术】2D点云的scan matching算法 和 检测退化场景的思路
  • Unity中Shader编译目标渲染器
  • Java转Go学习之旅 | Go入门(2)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • eclipse的离线汉化
  • extract-text-webpack-plugin用法
  • If…else
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • mysql常用命令汇总
  • PHP的Ev教程三(Periodic watcher)
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vue 个人积累(使用工具,组件)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 检测对象或数组
  • 两列自适应布局方案整理
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 区块链将重新定义世界
  • 使用putty远程连接linux
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 协程
  • 一道面试题引发的“血案”
  • 一份游戏开发学习路线
  • 再谈express与koa的对比
  • 阿里云ACE认证学习知识点梳理
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​ubuntu下安装kvm虚拟机
  • #Linux(权限管理)
  • #前后端分离# 头条发布系统
  • (10)STL算法之搜索(二) 二分查找
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (一)kafka实战——kafka源码编译启动
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)Unity3DUnity3D在android下调试
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .cn根服务器被攻击之后
  • .NET Core 2.1路线图
  • .NET 反射 Reflect
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件