Python
-
RTX 3080微调7B LLM OOM?显存优化技巧助你一臂之力
老哥你好!看到你的困扰,我完全理解。在本地用消费级GPU微调LLM,遇到显存OOM(Out Of Memory)是常有的事,尤其是在尝试7B这样规模的模型时。你遇到的情况, 并非你的操作“不对” ,而是10GB显存的RTX 3080在面对...
-
如何进行数据格式转换
在当今的信息时代,数据的交换和共享变得愈加重要。很多时候,我们会面临需要将一种数据格式转换为另一种的问题。本文将探讨如何高效地进行数据格式转换,以及一些相关的工具和方法。 数据格式概述 首先,让我们了解几种常见的数据格式: ...
-
PyTorch GPU显存管理:前端开发者也能懂的缓存机制与延迟释放
作为一名Web前端开发者,你可能对用户界面和交互炉火纯青,但当偶尔接触到深度学习模型时,GPU显存管理这个“黑盒”可能会让人感到困惑。你可能会想,为什么我明明删除了一个大张量(Tensor),显存占用却纹丝不动? torch.cuda.e...
-
实战篇:基于 angr 符号执行自动修复 OLLVM 控制流平坦化
在逆向工程中,OLLVM(Obfuscator-LLVM)的控制流平坦化(Control Flow Flattening)是令许多分析者头疼的手段。它通过引入一个“主分发器”和“状态变量”,将函数原本错落有致的逻辑块全部打散,并行地放置在...
-
选择合适的测试框架:项目需求与技术栈的完美平衡
在软件开发过程中,选择合适的测试框架至关重要。它直接影响着测试效率、代码质量和团队协作。但面对市面上琳琅满目的测试框架,如何选择一个最适合自己项目的框架呢?这需要综合考虑项目需求、技术栈以及团队技能等多个因素。 一、项目需求分析:测...
-
中小团队选配置管理工具,到底怎么才能“小投入大回报”?
在技术飞速发展的今天,配置管理对于任何规模的团队都至关重要。特别是中小型团队,在考虑引入新的配置管理工具时,最纠结的莫过于团队的学习成本和后续的迁移、维护成本。毕竟,资源有限,我们都希望能找到一个“小投入大回报”的方案,既能解决现有痛点,...
-
pytest 进阶:玩转组合测试和端到端测试,让你的代码更健壮
pytest 进阶:玩转组合测试和端到端测试,让你的代码更健壮 pytest 是 Python 中最流行的测试框架之一,以其简洁的语法、丰富的功能和强大的扩展性而闻名。除了基本的单元测试,pytest 还支持组合测试和端到端测试,帮助...
-
如何调试和定位html5lib解析HTML文件时的UnicodeDecodeError问题
介绍 在使用html5lib解析HTML文件时,可能会遇到 UnicodeDecodeError 。这个错误通常是由于文件的编码与解析器默认的编码不一致引起的。本文将介绍如何调试和定位这一问题,并提供一些实用的解决方案。 什么是U...
-
TensorFlow 和 PyTorch:深度学习图像识别框架的实战指南
TensorFlow 和 PyTorch:深度学习图像识别框架的实战指南 深度学习在图像识别领域取得了巨大的成功,例如人脸识别、物体检测、图像分类等任务。而 TensorFlow 和 PyTorch 是目前最流行的两个深度学习框架,它...
-
基于GPIO触发的树莓派OTA更新:SFTP自动下载与安装实战
在物联网(IoT)应用中,远程设备更新至关重要。本文将探讨如何在树莓派上实现一个由GPIO触发的OTA(Over-The-Air)更新机制。当特定的GPIO引脚被拉高时,树莓派将通过SFTP从指定服务器下载最新的应用程序二进制文件,并执行...
-
如何在数据处理中应用内存映射?详细讲解
什么是内存映射? 内存映射(Memory Mapping)是一种将文件或设备的内容直接映射到进程地址空间中的技术。这样一来,程序可以像操作内存一样直接操作文件中的数据,大大提高了数据访问的效率。 内存映射的优势 性能提升...
-
pytest-xdist:加速你的 Python 测试,并灵活运用不同运行模式
pytest-xdist:加速你的 Python 测试,并灵活运用不同运行模式 在软件开发过程中,测试是必不可少的一部分。随着项目规模的不断扩大,测试代码的数量也随之增加,测试时间也变得越来越长。为了提高测试效率,并行测试成为了一个非...
-
TensorFlow与PyTorch深度学习框架:特殊化与标准化的实现差异
TensorFlow与PyTorch深度学习框架:特殊化与标准化的实现差异 深度学习框架的选择,对于项目的成功至关重要。TensorFlow和PyTorch作为当前最流行的两个框架,各有千秋。本文将深入探讨它们在实现模型特殊化和标准化...
-
深入浅出 ECDH 密钥交换:原理、实现与 Python、C++ 代码示例
密钥交换是现代网络安全通信的基石,它允许通信双方在不安全的信道上安全地协商出一个共享密钥,用于后续的加密通信。你是否好奇过,在没有任何预先共享秘密的情况下,双方如何神奇地“变”出一个只有彼此知道的密钥?今天咱们就来聊聊椭圆曲线迪菲-赫尔曼...
-
PyTorch GPU显存缓存机制深度解析与优化实践
作为一名数据科学家,我们经常面对深度学习模型训练中一个棘手的问题:GPU显存的有效管理。特别是当模型复杂、数据量庞大时,训练过程中频繁创建和销毁临时张量会导致显著的性能开销,甚至触发“显存不足”错误。今天,我们就来深入探讨PyTorch的...
-
pytest-xdist: 加速你的 Python 测试之旅
pytest-xdist: 加速你的 Python 测试之旅 在软件开发过程中,测试是必不可少的环节。随着项目规模的增长,测试用例数量也随之增加,测试时间也越来越长。为了提高测试效率,我们可以使用 pytest-xdist 等工具来实...
-
深入实践:构建Kubernetes多集群Service Mesh自动化测试框架,精准验证流量与安全策略
Service Mesh,作为云原生时代微服务治理的利器,它将流量管理、可观测性、安全策略等能力从应用代码中剥离,下沉到基础设施层。当我们的微服务架构跨越多个Kubernetes集群部署,并在此之上引入Service Mesh(如Isti...
-
遗留Oracle数据库RESTful API的优雅封装与自动化文档实践
在处理企业遗留系统时,将庞大且结构复杂的Oracle数据库数据封装成一套清晰、符合现代Web标准的RESTful API,是许多技术团队面临的共同挑战。你遇到的问题——既不想直接暴露底层数据库结构,又觉得从零开始定义所有API过于耗时,同...
-
Selenium 自动化测试:从入门到精通,轻松实现测试用例管理和报告生成
Selenium 自动化测试:从入门到精通,轻松实现测试用例管理和报告生成 1. 简介 在当今快速发展的软件开发领域,测试环节变得越来越重要。为了提高测试效率和质量,自动化测试成为了必不可少的工具。Selenium 作为一款强...
-
基于eBPF的Kubernetes服务性能分析实践:延迟与错误率监控
在云原生架构中,Kubernetes已成为容器编排的事实标准。然而,随着微服务数量的增加,服务间的调用关系变得越来越复杂,性能瓶颈也难以定位。eBPF(Extended Berkeley Packet Filter)作为一种强大的内核技术...