-
callable返回True不保证对象能安全调用,仅检测__call__方法存在;可能因未初始化、参数错误等运行时异常失败,需结合类型检查、签名验证和守卫逻辑综合判断。
-
Python的int类型原生支持任意精度大整数,无需额外库;pow(a,b,m)是高效模幂运算唯一推荐方式;bin()/hex()转换比格式化更快,int(s,base)支持超长字符串解析。
-
设置n_jobs有时不提速甚至更慢,因算法本身不支持(如LogisticRegression的lbfgs求解器)、小数据下通信开销超收益、GridSearchCV与内层estimator双重并行导致OOM、Windows下spawn机制引发递归错误,以及pickle序列化大数组耗时。
-
DataParallel导致GPU负载不均的根本原因是其主从式设计:cuda:0承担梯度汇总、loss计算、输出拼接和参数更新,而其他GPU仅执行局部前向/反向,造成cuda:0显存高20%~30%、利用率持续95%+,其余卡常低于40%。
-
vars()本质是obj.__dict__的安全封装,仅对拥有__dict__的对象有效;无__dict__时(如__slots__类、内置类型)会抛TypeError,此时应改用hasattr检查或dir()+getattr组合获取属性。