UML类图箭头总结

博客介绍了UML类图相关概念,包括类和接口的表示方法,以及泛化、实现、关联、聚合、组合、依赖六种关系。详细说明了各类关系在UML图中的表示符号,如泛化用空心三角形+实线,实现用空心三角形+虚线等,并结合程序和实例进行解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

  • 1.类(Class):使用三层矩形框表示 .
    第一层显示类的名称,如果是抽象类,则就用斜体显示 .
    第二层是字段和属性 .
    第三层是类的方法 .

注意 : 前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected .

  • 2.接口:使用两层矩形框表示,与类图的区别主要是顶端有<<   >>显示 .
    第一行是接口名称 .
    第二行是接口方法 .

  • 3.泛化关系(generalization):用空心三角形+实线来表示 . 通常在程序里面泛化表现为继承于非抽象类 .

  • 4.实现关系(realization):用空心三角形+虚线来表示 . 通常程序里面实现关系表现为继承抽象类 .

  • 5.关联关系(association):用实线箭头来表示 .

  • 6.聚合关系(aggregation):用空心的菱形+实线箭头来表示 .

  • 7.组合关系(composition):用实心的菱形+实线箭头来表示 .

  • 8.依赖关系(dependency) :用虚线箭头来表示 .

UML类图 :

在这里插入图片描述

泛化关系(generalization)

在这里插入图片描述

泛化关系用一条带空心箭头的直接表示 .
如图为例, Linux 和 电脑就是泛化关系,通常在程序里面泛化表现为继承于非抽象类 .

实现关系(realization)

在这里插入图片描述

实现关系用一条带空心箭头的虚线表示 .
如图为例,电脑和可计算处理器就是实现关系,通常程序里面实现关系表现为继承抽象类 .

聚合关系(aggregation)

在这里插入图片描述

聚合关系用一条带空心菱形箭头的直线表示,如图码农和部门就是聚合关系 .与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在 .
如图为例 ,部门撤销了,码农换一个工作还是码农 .

组合关系(composition)

在这里插入图片描述

组合关系用一条带实心菱形箭头直线表示,与聚合关系一样,组合关系同样表示整体由部分构成的关系,不同之处在于整体和部分是强依赖关系,如果整体不存在了,部分也不复存在 .
如图为例,如果公司倒闭了,那么何来部门呢?

关联关系(association)

在这里插入图片描述

       关联关系通常用一条直线表示,当然如果需要标明方向可以添加箭头 .它是描述不同的类对象之间的关系,通常不会随着状态的变化而变化,可以理解为被关联者属于关联者的一部分 .
       如图为例,电话就是码农的一部分,不会因为他上班与否而变化所属关系 .通常情况在程序里面以类变量的方式表现 .

依赖关系(dependency)

在这里插入图片描述

       依赖关系是用一条带箭头的虚线表示,它通常描述一个对象在运行期间会用到另一个对象的关系 .
        如图为例 , 码农只有在工作的时候才会用到 Linux 电脑,所以这种依赖关系是依赖于运行状态的 .通常情况下是在程序里面通过构造函数、形参等体现 .

### 使用 AutoGPTQ 库量化 Transformer 模型 为了使用 `AutoGPTQ` 对 Transformer 模型进行量化,可以遵循如下方法: 安装所需的依赖包是必要的操作。通过 pip 安装 `auto-gptq` 可以获取最新版本的库。 ```bash pip install auto-gptq ``` 加载预训练模型并应用 GPTQ (General-Purpose Tensor Quantization) 技术来减少模型大小和加速推理过程是一个常见的流程。下面展示了如何利用 `AutoGPTQForCausalLM` 来进行这一工作[^1]。 ```python from transformers import AutoModelForCausalLM, AutoTokenizer from auto_gptq import AutoGPTQForCausalLM model_name_or_path = "facebook/opt-350m" quantized_model_dir = "./quantized_model" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) # 加载已经量化的模型或者创建一个新的量化器对象用于量化未压缩过的模型 gptq_model = AutoGPTQForCausalLM.from_pretrained(quantized_model_dir, model=model, tokenizer=tokenizer) ``` 对于那些希望进一步优化其部署环境中的模型性能的人来说,`AutoGPTQ` 提供了多种配置选项来自定义量化参数,比如位宽(bit-width),这有助于平衡精度损失与运行效率之间的关系。 #### 注意事项 当处理特定硬件平台上的部署时,建议查阅官方文档以获得最佳实践指导和支持信息。此外,在实际应用场景之前应该充分测试经过量化的模型以确保满足预期的质量标准。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值