python教程技术文章
-
OMP_NUM_THREADS控制PyTorch底层OpenMP线程数,影响BLAS/MKL并行性能;需在importtorch前设置,与torch.set_num_threads()独立作用,多进程下须避免嵌套并行导致的性能抖动或死锁。311 收藏 -
TensorFlow2.x中应使用tf.keras.applications直接加载预训练模型,如ResNet50(weights='imagenet'),自动下载权重;去顶层用include_top=False;必须用对应模型的preprocess_input预处理,不可混用或手动归一化。239 收藏 -
async/await不等于自动并行,单个await默认串行等待,需用asyncio.gather()或create_task()显式并发;同步代码中直接调用async函数不会执行;漏await会返回协程对象而非结果;asyncio.sleep()默认不响应中断,需额外处理。477 收藏 -
爬虫异常需分层处理:网络层设timeout并检查状态码,解析层预判节点存在性与编码问题,逻辑层断言字段格式并监控反爬特征;统一日志、重试与告警实现可观测性。190 收藏 -
OpenCV-Python通常比PIL快,但取决于操作类型、图像尺寸和是否启用硬件加速;cv2.imread读JPEG比PIL快20%–40%,而PIL在仅查尺寸或EXIF时更优,颜色空间转换和隐式复制是主要性能陷阱。269 收藏 -
Python中反转列表应根据需求选择:需就地修改用list.reverse(),保留原列表用切片[::-1],仅遍历一次且省内存可用reversed()。353 收藏 -
as_strided比for循环快是因为它不复制数据,仅修改shape和strides生成视图;而for循环反复分配内存拷贝,易触发GC或爆内存,但as_strided需手动计算strides,错误会导致脏内存、崩溃或异常值。124 收藏 -
TF2.x中应使用tf.data.Dataset替代已弃用的tf.train.string_input_producer和tf.train.start_queue_runners;通过interleave、map的num_parallel_calls和prefetch实现高效并行读取,避免手动线程管理。391 收藏 -
MirroredStrategy在Linux上卡死大概率是NCCL选错网卡,需显式设置NCCL_SOCKET_IFNAME指向高速数据网口(如ens1f0、ib0),且所有worker节点值必须一致;Windows因NCCL不兼容,须改用HierarchicalCopyAllReduce后端。103 收藏 -
json_normalize比手写递归更可靠,因其专为展平嵌套结构设计,内置处理None、空列表、混合类型等边界情况,并按record_path和meta精准提取结构化记录与上下文字段。276 收藏 -
strftime在高频场景下性能差,因其每次调用需解析格式串、本地化查表、动态拼接;替代方案如f-string拼接、isoformat截断可快3–10倍,但需权衡动态格式与本地化需求。265 收藏 -
Django复杂系统架构核心是控节奏、分边界、留余地:模型按业务域切分并隔离关联,API与页面分离且URL即契约,配置多环境拆分并零硬编码,外部集成通过接口抽象与适配器实现。268 收藏 -
本文介绍如何在Pandas中为每位客户高效提取其访问记录中首个和末个非“Direct”渠道;若全为“Direct”,则回退取“Direct”本身,并确保按时间顺序准确判断。339 收藏 -
Pydanticv2中临时排除字段用.model_dump(exclude=...),永久排除用Field(exclude=True);私有字段不再自动忽略,必须显式设置exclude;exclude=True不影响验证,仅控制序列化输出。460 收藏 -
应选'a'模式追加文件,但需先检查zip文件是否存在且非空,否则空文件会触发BadZipFile异常;'w'模式会覆盖原文件,'r'模式不可写入。253 收藏