Python_Setup
发表于|更新于|Python
|浏览量:
Python setup.py
参考资料
文章作者: xhj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
相关推荐
2024-10-03
3_class
类与继承作为一门面向对象的编程语言,Python 提供了多态、继承、封装等各种面向对象的特性。 22. 尽量用辅助类来维护程序的状态,而不要用字典和元组尽管 Python 的 dict 基本上可以实现大多数的数据结构,但是为了代码含义的明了以及子功能扩展的方便,应当尽量多的拆分出类。例如有一个 Student 的类,包含了学生的种种科目的成绩和评语,应当新建一个 Subject 类存放科目信息而不是在 Student 内的一个 grade 的内部变量中赋值。 不要使用包含其他字典的字典,也不要使用过长的元组。 如果容器中包含简单而又不可变的数据,可以优先使用 namedtuple 来表示,后期再修改为一个完整的类。 保存内部状态的字典如果变的比较复杂就该考虑拆分一个新的类出来。 23. 简单的接口应该接受函数,而不是类的实例Python 中有很多内置的 API,都允许调用者传入函数以定制其行为。API 在执行的时候,会通过执行这些 hook 函数回调函数内的代码。其他的编程语言中会用抽象类来定义 hook,然而在 Python 中,很多挂钩只是无状态的函数,这些函数有明确的参数和...
2025-07-01
PyTorch-CUDA图原理与用法详解
我来详细解释 torch.cuda.graph(graph, pool=xxx) 的原理与用法。 原理CUDA Graph 是 PyTorch 中用于优化 GPU 计算性能的技术,主要原理是: 计算图捕获:将一系列 CUDA 操作捕获为一个静态图 单次启动:整个图只需一次 GPU 启动,而不是多次内核启动 减少开销:避免了内核启动开销、CPU-GPU 同步等 pool=xxx 参数用于指定内存池,让图形在专用内存中运行,进一步提高性能。 基本用法123456789101112131415161718192021import torch# 准备示例计算def example_computation(x, weight): return torch.nn.functional.conv2d(x, weight)# 创建输入和参数x = torch.randn(4, 3, 32, 32, device='cuda')weight = torch.randn(16, 3, 3, 3, device='cuda')# 创建 CUDA 图gr...
2024-10-08
8_class_object
Class and Object类和对象改变对象的字符串显示改变一个实例的字符串表示可以通过重定义它的 __str()__ 和 __repr()__ 方法。 12345678910class Pair: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return '({0.x!r}, {0.y!r})'.format(self) def __str__(self): return 'Pair({0.x!s}, {0.y!s})'.format(self) __str()__ 体现:print() 函数 __repr()__ 体现:交互式解释器内容 自定义字符串的格式化123456789101112131415161718192021_formats = { 'ymd...
2025-07-08
Python_Multiprocessing
Python Multiprocessing multiprocessing — Process-based parallelism
2025-07-06
Python_Metaclass
Python Metaclass参考资料 What are metaclasses in Python?
2025-07-02
PyTorch非阻塞传输参数详解
torch.cuda.Event() 是PyTorch中用于精确测量GPU操作时间和实现细粒度同步的工具。 基本用法创建CUDA Event12345import torch# 创建CUDA事件start_event = torch.cuda.Event(enable_timing=True) # 启用计时功能end_event = torch.cuda.Event(enable_timing=True) record() 方法record() 方法在GPU的当前流中插入一个事件记录点。 基本record用法12345678# 在GPU流中记录事件start_event.record() # 记录开始时间点# 执行一些GPU操作x = torch.randn(1000, 1000, device='cuda')y = x * x + 2 * x + 1end_event.record() # 记录结束时间点 synchronize() 方法synchronize() 方法阻塞CPU执行,直到事件完成。 基本synchronize用法123456# 等...