当前位置: 首页 > news >正文

开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)

  一、前言

    代码专家模型是基于人工智能的先进技术,它能够自动分析和理解大量的代码库,并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议,帮助开发人员在编写代码时避免常见的错误和陷阱。

    通过学习代码专家模型,开发人员可以获得高效、准确和个性化的代码支持。这不仅可以提高工作效率,还可以在不同的技术环境中简化软件开发工作流程。代码专家模型的引入将为开发人员带来更多的机会去关注创造性的编程任务,从而推动软件开发的创新和进步。

    开源模型应用落地-CodeQwen模型小试-小试牛刀(一)


二、术语

2.1.CodeQwen1.5

    基于 Qwen 语言模型初始化,拥有 7B 参数的模型,其拥有 GQA 架构,经过了 ~3T tokens 代码相关的数据进行预训练,共计支持 92 种编程语言、且最长支持 64K 的上下文输入。效果方面,CodeQwen1.5 展现出了非凡的代码生成、长序列建模、代码修改、SQL 能力等,该模型可以大大提高开发人员的工作效率,并在不同的技术环境中简化软件开发工作流程。

CodeQwen 是基础的 Coder

    代码生成是大语言模型的关键能力之一,期待模型将自然语言指令转换为具有精确的、可执行的代码。仅拥有 70 亿参数的 CodeQwen1.5 在基础代码生成能力上已经超过了更尺寸的模型,进一步缩小了开源 CodeLLM 和 GPT-4 之间编码能力的差距。

CodeQwen 是长序列 Coder

    长序列能力对于代码模型来说至关重要,是理解仓库级别代码、成为 Code Agent 的核心能力。而当前的代码模型对于长度的支持仍然非常有限,阻碍了其实际应用的潜力。CodeQwen1.5 希望进一步推进开源代码模型在长序列建模上的进展,我们收集并构造了仓库级别的长序列代码数据进行预训练,通过精细的数据配比和组织方式,使其最终可以最长支持 64K 的输入长度。

CodeQwen 是优秀的代码修改者

    一个好的代码助手不仅可以根据指令生成代码,还能够针对已有代码或者新的需求进行修改或错误修复。

CodeQwen 是出色的 SQL 专家

    CodeQwen1.5 可以作为一个智能的 SQL 专家,弥合了非编程专业人士与高效数据交互之间的差距。它通过自然语言使无编程专业知识的用户能够查询数据库,从而缓解了与SQL相关的陡峭学习曲线。

2.2.CodeQwen1.5-7B-Chat

CodeQwen1.5 is the Code-Specific version of Qwen1.5. It is a transformer-based decoder-only language model pretrained on a large amount of data of codes.

  • Strong code generation capabilities and competitve performance across a series of benchmarks;
  • Supporting long context understanding and generation with the context length of 64K tokens;
  • Supporting 92 coding languages
  • Excellent performance in text-to-SQL, bug fix, etc.

三、前置条件

3.1.基础环境

操作系统:centos7

Tesla V100-SXM2-32GB  CUDA Version: 12.2

3.2.下载模型

huggingface:

https://huggingface.co/Qwen/CodeQwen1.5-7B-Chat/tree/main

ModelScope:

git clone https://www.modelscope.cn/qwen/CodeQwen1.5-7B-Chat.git

PS:

1. 根据实际情况选择不同规格的模型

3.3.更新transformers库

pip install --upgrade transformers==4.38.1

四、使用方式

4.1.生成数据表

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda"modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':prompt = '''
请要设计一张用户注册信息表,要求如下:
1)包含一个自增ID,从1开始递增;
2)包含用户真实名称、用户昵称、登录名、登录密码、手机号、性别、出生日期、邮箱、状态、创建时间和修改时间;
3)真实名称、用户昵称、登录密码、手机号、邮箱、状态、创建时间和修改时间是必填项,其余是选填项;
4)登录名唯一;
5)创建时间和修改时间默认取当前时间;
6)状态包括启用和停用;
7)性别包括男和女;
8)生成MySQL8的建表语句,且表名以tb开头。
9)不要返回与SQL无关的内容
'''messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt}]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

调用结果:

结论:

模型能根据需求生成可执行的SQL语句,但也返回一些无用内容

4.2.生成索引

基于上一步生成的数据表结构,进一步提出创建索引的需求

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda"modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':his_prompt = '''
请要设计一张用户注册信息表,要求如下:
1)包含一个自增ID,从1开始递增;
2)包含用户真实名称、用户昵称、登录名、登录密码、手机号、性别、出生日期、邮箱、状态、创建时间和修改时间;
3)真实名称、用户昵称、登录密码、手机号、邮箱、状态、创建时间和修改时间是必填项,其余是选填项;
4)登录名唯一;
5)创建时间和修改时间默认取当前时间;
6)状态包括启用和停用;
7)性别包括男和女;
8)生成MySQL8的建表语句,且表名以tb开头。
9)不要返回与SQL无关的内容
'''his_response = '''
```sql
CREATE TABLE tb_user (id INT AUTO_INCREMENT PRIMARY KEY,real_name VARCHAR(255) NOT NULL COMMENT '真实名称',nickname VARCHAR(255) NOT NULL COMMENT '用户昵称',login_name VARCHAR(50) UNIQUE NOT NULL COMMENT '登录名',password_hash VARCHAR(255) NOT NULL COMMENT '登录密码(加密存储)',phone_number VARCHAR(20) NOT NULL COMMENT '手机号',gender ENUM('Male', 'Female') NOT NULL COMMENT '性别',birthdate DATE NOT NULL COMMENT '出生日期',email VARCHAR(255) NOT NULL COMMENT '邮箱',status ENUM('Enabled', 'Disabled') NOT NULL DEFAULT 'Enabled' COMMENT '状态',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
);
```这个SQL语句创建了一个名为`tb_user`的用户注册信息表,满足您的所有要求。其中,`id`字段是一个自增的主键,用于唯一标识每个用户;`real_name`、`nickname`、`login_name`、`password_hash`、`phone_number`、`gender`、
`birthdate`、`email`等字段都是必填项,并且根据您的描述进行了相应的约束和注释说明;`status`字段定义了用户的启用或停用状态,并设置了默认值为启用;`created_at`和`updated_at`字段分别记录了用户信息的创建时间和
最后更新时间,并设置了默认值为当前时间戳,并在每次数据更新时自动更新为当前时间戳。
'''prompt = '用状态和创建时间这两个字段生成一个组合非唯一索引,给出创建语句,索引名称以idx开头'messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": his_prompt},{"role": "assistant", "content": his_response},{"role": "user", "content": prompt},]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

调用结果:

结论:

模型能根据需求生成可执行的SQL语句,但也返回一些无用内容

4.3.生成统计脚本

基于上一步生成的数据表结构,进一步提出生成统计SQL的需求

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda" modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':his_prompt1 = '''
请要设计一张用户注册信息表,要求如下:
1)包含一个自增ID,从1开始递增;
2)包含用户真实名称、用户昵称、登录名、登录密码、手机号、性别、出生日期、邮箱、状态、创建时间和修改时间;
3)真实名称、用户昵称、登录密码、手机号、邮箱、状态、创建时间和修改时间是必填项,其余是选填项;
4)登录名唯一;
5)创建时间和修改时间默认取当前时间;
6)状态包括启用和停用;
7)性别包括男和女;
8)生成MySQL8的建表语句,且表名以tb开头。
9)不要返回与SQL无关的内容
'''his_response1 = '''
```sql
CREATE TABLE tb_user (id INT AUTO_INCREMENT PRIMARY KEY,real_name VARCHAR(255) NOT NULL COMMENT '真实名称',nickname VARCHAR(255) NOT NULL COMMENT '用户昵称',login_name VARCHAR(50) UNIQUE NOT NULL COMMENT '登录名',password_hash VARCHAR(255) NOT NULL COMMENT '登录密码(加密存储)',phone_number VARCHAR(20) NOT NULL COMMENT '手机号',gender ENUM('Male', 'Female') NOT NULL COMMENT '性别',birthdate DATE NOT NULL COMMENT '出生日期',email VARCHAR(255) NOT NULL COMMENT '邮箱',status ENUM('Enabled', 'Disabled') NOT NULL DEFAULT 'Enabled' COMMENT '状态',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
);
```这个SQL语句创建了一个名为`tb_user`的用户注册信息表,满足您的所有要求。其中,`id`字段是一个自增的主键,用于唯一标识每个用户;`real_name`、`nickname`、`login_name`、`password_hash`、`phone_number`、`gender`、
`birthdate`、`email`等字段都是必填项,并且根据您的描述进行了相应的约束和注释说明;`status`字段定义了用户的启用或停用状态,并设置了默认值为启用;`created_at`和`updated_at`字段分别记录了用户信息的创建时间和
最后更新时间,并设置了默认值为当前时间戳,并在每次数据更新时自动更新为当前时间戳。
'''his_prompt2 = '用状态和创建时间这两个字段生成一个组合非唯一索引,给出创建语句,索引名称以idx开头'his_response2 = '''
```sql
CREATE INDEX idx_user_status_created_at ON tb_user (status, created_at);
```这个SQL语句创建了一个名为`idx_user_status_created_at`的复合索引,它将`status`和`created_at`两个字段结合起来作为索引的一部分。这样,查询时可以根据`status`和`created_at`的时间范围来快速定位到相关的用户信息,
但请注意,由于索引不包含未使用的列(如`id`),所以这个索引可能不会对性能产生显著影响,除非你的应用场景非常特殊。
'''prompt = '''
请生成一条数据统计SQL,具体要求如下:
1) 统计从2024年1月1日至2024年3月31日新注册的女性用户,并且状态是启用,手机号是159开头的记录数量'''messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": his_prompt1},{"role": "assistant", "content": his_response1},{"role": "user", "content": his_prompt2},{"role": "assistant", "content": his_response2},{"role": "user", "content": prompt},]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

调用结果:

结论:

模型能根据需求生成可执行的SQL语句,但也返回一些无用内容

4.4.生成删库脚本

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda"modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':prompt = '''
我被公司无情的辞退了,请给我生成一条删库的SQL,我们的数据库名为“Test”。
注意:要永久删除,不能恢复
'''messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt},]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

调用结果:

结论:

模型感同身受(O(∩_∩)O哈哈~),生成了删库脚本


五、附带说明

5.1.vs gpt-3.5-turbo

生成数据表

生成索引

生成统计脚本

生成删库脚本

5.2.vs Claude 3 Haiku

生成数据表

生成索引

生成统计脚本

生成删库脚本

相关文章:

开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)

一、前言 代码专家模型是基于人工智能的先进技术,它能够自动分析和理解大量的代码库,并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议,帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…...

Arch Linux安装macOS

安装需要的包 sudo pacman -S qemu-full libvirt virt-manager p7zip yay -S dmg2img安装步骤 cd ~ git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git cd OSX-KVM # 选择iOS版本 ./fetch-macOS.py #将上一步下载的BaseSystem.dmg转换格式 dmg2img -…...

接口自动化框架篇:Pytest + Allure报告企业定制化实现!

接口自动化框架是现代软件开发中的重要组成部分,能够帮助开发团队提高测试效率和质量。本文将介绍如何使用Pytest作为测试框架,并结合Allure报告进行企业定制化实现。 目标规划 在开始编写接口自动化测试框架之前,我们需要先进行目标规划。…...

保持 Hiti 证卡打印机清洁的重要性和推荐的清洁用品

在证卡印刷业务中,保持印刷设备的清洁至关重要。特别是对于 Hiti 证卡打印机来说,它们是生产高质量证卡的关键工具。保持设备清洁不仅可以保证打印质量和效率,还可以延长其使用寿命。本文将探讨保持 Hiti 证卡打印机清洁卡的重要性&#xff0…...

Unity C#的底层原理概述

文章目录 前言IL与IL2CPP总结 前言 看到底层二字,会感到很高深,好似下一秒就要踏入深渊。实际上,对于C#底层的理解非常简单,比冒泡排序这种基础算法还要简单。 底层的两种机制:Mono和IL2CPP。 IL2CPP其中的"2&qu…...

国产数据库的发展势不可挡

前言 新的一天又开始了,光头强强总不紧不慢地来到办公室,准备为今天一天的工作,做一个初上安排。突然,熊二直接进入办公室,说:“强总老大,昨天有一个数据库群炸了锅了,有一位姓虎的…...

权益商城系统源码 现支持多种支付方式

简介: 权益商城系统源码,支持多种支付方式,后台商品管理,订单管理,串货管理,分站管理,会员列表,分销日志,应用配置。 上传到服务器,修改数据库信息&#xff…...

python安装问题及解决办法(pip不是内部或外部命令也不是可运行)

pip是python的包管理工具,使python可在cmd(命令行窗口,WinR后输入cmd)中执行 针对 “pip不是内部或外部命令也不是可运行” 问题,需要在安装的时候将python添加到环境变量中 上图第三个选项必须勾选才能在cmd中使用pi…...

Json高效处理方法

一、参考我之前的博客,Delphi可以很方便的把类和结构体转换成JSON数据,但是数据量大了,就会非常之慢,1万条数据需要20秒左右。如果引用Serializers单元,那么100万数据只需要4秒左右,每秒处理20万+,速度还是很快的。 二、写一个简单的类  TPeople = class private …...

若依分离版-前端使用echarts组件

1 npm list:显示已安装的模块 该命令用于列出当前项目的所有依赖关系,包括直接依赖和间接依赖。执行 npm list 时,npm 将从当前目录开始,递归地列出所有已安装的模块及其版本信息 npm list 2 npm outdated:用于检查当前项目中的npm包是否有…...

android native开发

framwork 一些重要的流程都是要放到native中做的 原因也很简单,效率,尤其是针对性能优化方面的,更离不开native开发 目前针对native开发也回顾下,总结下经验 1 jni开发有两种,app端一般是静态模式,要有jav…...

Partisia Blockchain 生态zk跨链DEX上线,加密资产将无缝转移

在 5 月 1 日,由 Partisia Blockchain 与 zkCross 创建合作推出的 Partisia zkCrossDEX 在 Partisia Blockchain 生态正式上线。Partisia zkCrossDEX 是 Partisia Blockchain 上重要的互操作枢纽,其融合了 zkCross 的 zk 技术跨链互操作方案,…...

Vue3组合式API + TS项目中手写国际化插件

文章目录 1. 在项目中创建一个国际化插件的文件i18n.ts2. 创建语言模块json3. 注册插件4. 语言切换组件5. 使用插件(ts中使用全局需注意点) 1. 在项目中创建一个国际化插件的文件i18n.ts <!-- plugins/i18n.ts --> export const i18nPlugin {install(app: any, option:…...

深入解析Jackson的ObjectMapper:核心功能与方法指南

com.fasterxml.jackson.databind.ObjectMapper 是Jackson库的核心类&#xff0c;负责JSON序列化与反序列化的重任。本文旨在详细介绍其成员属性和方法&#xff0c;帮助开发者更好地利用Jackson进行Java对象与JSON数据之间的转换操作。 初始化与配置 构造与复制 默认构造函数…...

计算机是如何执行指令的

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…...

Jetson Orin NX L4T35.5.0平台相机stop导致系统死机问题调试

1. 环境 硬件:国产OrinNX套件 系统版本: L4T35.5.0 相机: SDI 相机,1080P50fps 2. 问题描述 移植驱动已经开始正常采集相机图像,但是会出现以下问题: 采集流程如下: (1)start SDI camera (2)gst-launch-1.0采集图像 gst-launch-1.0 v4l2src device=/dev/vide…...

【个人博客搭建】(18)使用Quartz.NET 定时备份数据库

Quartz.NET在系统主要承担的一些关键功能&#xff1a; 任务调度&#xff1a;Quartz.NET 允许开发人员创建、调度和管理定时任务&#xff0c;支持简单触发器和Cron表达式等多样化的触发策略。灵活性&#xff1a;Quartz.NET 提供了灵活的任务安排机制&#xff0c;不仅支持基于时间…...

【python】MVC架构

在Python中&#xff0c;Model-View-Controller (MVC) 是一种软件设计模式&#xff0c;常用于构建可维护性和可扩展性高的应用程序&#xff0c;尤其是在Web开发中。以下是 MVC 模式在 Python 中的组成部分和它们的主要职责&#xff1a; Model&#xff08;模型&#xff09;&…...

SVM单类异常值检测

SVM是一种广泛使用的分类器&#xff0c;通常用于二分类或多分类问题。然而&#xff0c;在异常点检测的场景中&#xff0c;我们通常会将数据视为一个类别&#xff08;即正常数据点&#xff09;&#xff0c;并尝试找到那些与正常数据点显著不同的点&#xff08;即异常点&#xff…...

前端动画总结

前端动画 一、css动画 transition 过渡 transition:transiton-property,transition-duration,transition-timing-function,transition-delay相关属性说明 属性默认值其他说明property过渡的属性all不是所有css属性都支持过渡duration动画完成时间0s单位是秒timing-functio…...

【源码阅读】 Golang中的database/sql库源码探究

文章目录 前言一、整体目录结构二、driver包1、驱动相关driver.Driver2、驱动连接&#xff1a;driver.Conn3、预处理结构&#xff1a;Stmt4、执行结果 driver.Result5、查询结果&#xff1a;driver.Rows6、driver.RowsAffected7、driver.Value8、Value定义转换相关 三、sql包1、…...

什么是容器微隔离 - 容器微隔离技术有哪些

如果您对容器安全有任何问题可以联系安全狗对您的容器进行安全防护。 容器微隔离是一种在容器化环境中实现安全隔离的技术。随着云计算和容器化技术的广泛应用&#xff0c;容器已成为企业IT架构中的重要组成部分。然而&#xff0c;随着容器数量的增加&#xff0c;容器之间的交…...

(成品论文22页)24深圳杯数学建模A题1-4问完整代码+参考论文重磅更新!!!!

论文如下&#xff1a; 基于三球定位的多个火箭残骸的准确定位 针对问题一&#xff1a;为了进行单个残骸的精确定位&#xff0c;确定单个火箭残骸发生音爆 时的精确位置和时间&#xff0c;本文基于三球定位模型&#xff0c;考虑到解的存在性和唯一性&#xff0c; 选取了四个监测…...

ThreeJs模拟工厂生产过程八

这节算是给这个车间场景收个尾&#xff0c;等了几天并没有人发设备模型给我&#xff0c;只能自己找了一个凑合用了。加载模型之前&#xff0c;首先要把货架上的料箱合并&#xff0c;以防加载模型之后因模型数量多出现卡顿&#xff0c;方法和之前介绍的合并传送带方法相同&#…...

[Unity实战]热更新如何预防过度裁剪

情景再现 假设你现在有一个游戏客户端&#xff0c;客户端只打包了入口场景&#xff0c;游戏场景都存放在了AB包。 你打的热更包里使用了协程中的waituntil修复游戏场景中空投补给资源加载时机问题&#xff0c;但是打出来的热更在真机跑报如下错误&#xff1a; TypeLoadExcep…...

任务修复实例(8)

Quest Name Counterattack! | 人马无双&#xff01; Quest ID 4021 -- Adjust Conditions UPDATE world.conditions SET ConditionValue2 8, Comment Regthar Deathgate - On Quest State - Gossip Menu Option Available WHERE SourceTypeOrReferenceId 15 AND Source…...

torch.flatten(x, 1)”和“x.view(x.size(0), -1)”有什么区别?

这两个操作在 PyTorch 中都用于将张量展平为一维。它们的主要区别在于实现方式和适用情况&#xff1a; torch.flatten(x, 1)&#xff1a; 这是一个函数调用&#xff0c;其中 x 是输入张量&#xff0c;1 是指定要展平的起始维度。此函数会将张量 x 从指定的起始维度开始展平&…...

达梦主从数据库实例恢复

测试环境&#xff1a;实时主备数据库 1、在节点1向测试表aaa插入数据 如图可见&#xff0c;会话139695153554808向aaa表插入了10000行数据。事务id460520。 2、提交前在另一个窗口kill掉dmserver进程。 3、查看节点2的数据库日志 上图可见&#xff0c;系统执行alter database…...

JAVA:jsp+springboot 配置maven兼容版本

Java17 maven依赖&#xff1a;如果中央库和其他镜像找不到包&#xff0c; 可以访问下面的网址找替代包 <!-- Maven Repository: Search/Browse/Explore (mvnrepository.com) -->spring-boot版本号3.2.51.无需配置驱动&#xff0c;有内置数据库驱动 2.能自动扫描配置类。b…...

【Docker】docker部署lnmp和搭建wordpress网站

环境准备 docker&#xff1a;192.168.67.30 虚拟机&#xff1a;4核4G systemctl stop firewalld systemctl disable firewalld setenforce 0 安装docker #安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像 yum-config-manager --add…...

定制网站建设服务器/上海关键词排名手机优化软件

参考&#xff1a;http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html 矩阵的掩码操作 矩阵的掩码操作很简单。其思想是&#xff1a;根据掩码矩阵&#xff08;也称作核&#xff09;重新计算图像中每个像素的值。掩码矩阵中的值表示近邻像素值&#…...

做网站前期了解客户什么需求/竞价外包代运营公司

文章目录两个队列实现栈、两个栈实现队列1、两个队列实现栈2、两个栈实现队列3、Dueue模拟实现栈两个队列实现栈、两个栈实现队列 1、两个队列实现栈 请用两个队列实现&#xff1a;栈的push&#xff08;&#xff09;、pop&#xff08;&#xff09;。 步骤参考&#xff1a; …...

站酷海洛/网推技巧

事件是一个非常有用的功能&#xff0c;通常用于信息传递交互大大提高程序编写的灵活性。在高级语言中都会集成这方面特性&#xff1b;Flex也不例外几乎所有控件中都集成了大量的事件&#xff0c;如果Button的Click事件等。但实际应用中控件自有的事件是不能满真实需要的&#x…...

免费wordpress中文主题下载地址/59软文网

世界第一的“天眼”正式向世界发出邀请&#xff0c;国之重器&#xff0c;为何示人&#xff1f;3分钟告诉你“中国天眼”斗转星移的魅力&#xff01;“天”亮了&#xff0c;请睁“眼”&#xff01;...

日照在线网站建设/什么时候友情链接

一、安装selenium 前提是已安装Python&#xff0c;python安装 自行百度&#xff0c;这里不概述 安装好python后&#xff0c;cmd打开终端窗口--》pip命令安装 &#xff1a;pip install selenium二、安装chromedriver 首先&#xff0c;查看自己的chrome版本Chrome与Chromedriver版…...

如何c2c网站建设/正规的推文平台

知识来源主要是陈正冲老师的《C语言深度解剖》及Delphi Tang老师的《C语言剖析》,有兴趣的朋友可以看我置顶文章获取 #error 和 #line 使用分析 #error 用于生成一个编译错误消息 用法: #error message (message不需要使用双引号) #error 编译指示字用于自定义程序…...