一个惊奇的11g/10g grant行为差异

同事说IBM的optim程序在11g上执行grant操作时成功,但在10g上失败,出现的错误为:

ORA-01749: you may not GRANT/REVOKE privileges to/from yourself

开始时,我告诉他应该不会是由于10g和11g的grant差异造成的. (因为建立的表,不需要授予什么权限给自身, 这种操作没有必要, 10g,11g处理都应该这样).

可能是由于其他原因造成的.例如软件检测到数据库是10g时,执行了grant给自身的操作,但在检测到数据库是11g时,使用了其他操作,

从而造成这样的差异. 但我想了想,觉得还是试验一下.于是选择11.2.0.3和10.2.0.3试验.

11.2.0.3下使用system登陆数据库试验:

10.2.0.3下使用system登陆数据库试验:

 

真是惊奇, 11g上对grant给自身竟然是成功的.  11g/10g在grant语句的实现代码上竟然有如此不同.

但从我的角度,赞同10g的处理方式, 毕竟授予操作权限给对象的持有者, 是没有必要的.

我更倾向于11g实现代码中疏忽了被授权的人是否是自身的检查, 类似于某种bug.

### 使用 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),这有助于平衡精度损失与运行效率之间的关系。 #### 注意事项 当处理特定硬件平台上的部署时,建议查阅官方文档以获得最佳实践指导和支持信息。此外,在实际应用场景之前应该充分测试经过量化的模型以确保满足预期的质量标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值