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

谷歌的 DataGemma 人工智能是一个统计精灵

谷歌正在扩大其人工智能模型家族,同时解决该领域的一些最大问题。 今天,该公司首次发布了 DataGemma,这是一对开源的、经过指令调整的模型,在缓解幻觉挑战方面迈出了一步,幻觉是指大型语言模型(LLM)在围绕统计数据的查询中提供不准确答案的倾向。

在这里插入图片描述
为当今人工智能创新提供动力的大型语言模型(LLM)正变得越来越复杂。 这些模型可以梳理大量文本并生成摘要,提出新的创意方向,甚至起草代码。 然而,尽管这些能力令人印象深刻,LLM 有时也会自信地呈现不准确的信息。 今天,我们将与大家分享直接应对这一挑战的有前途的研究进展,通过将 LLMs 固定在真实世界的统计信息中,帮助减少幻觉。 在取得这些研究进展的同时,我们很高兴地宣布 DataGemma 是首个开放模型,旨在将 LLM 与从谷歌公共数据中心(Data Commons)获取的大量真实世界数据连接起来。

公共数据(Data Commons): 一个巨大的、可公开获取的、值得信赖的数据储存库

Data Commons 是一个公开可用的知识图谱,包含超过 2400 亿个丰富的数据点,涉及数十万个统计变量。 它从联合国(UN)、世界卫生组织(WHO)、疾病控制与预防中心(CDC)和人口普查局等可信赖的组织获取这些公共信息。 将这些数据集整合到一套统一的工具和人工智能模型中,有助于决策者、研究人员和组织寻求准确的见解。

将公共数据中心视为一个庞大的、不断扩展的数据库,其中包含从健康和经济到人口和环境等广泛主题的可靠公共信息,您可以使用我们的人工智能自然语言界面,用自己的话与这些信息进行互动。 例如,您可以探索哪些非洲国家的电力供应增长最快,美国各县的收入与糖尿病的相关性,或者您自己对数据的好奇心。

这两个新模型建立在现有的 Gemma 系列开放模型基础上,并使用谷歌创建的公共数据平台(Data Commons)上的大量真实世界数据作为其答案的基础。 该公共平台提供了一个开放的知识图谱,其中包含来自经济、科学、健康和其他领域可信组织的超过 2400 亿个数据点。

这些模型采用两种不同的方法来提高它们在回答用户问题时的事实准确性。 这两种方法在涵盖各种查询的测试中都证明相当有效。

事实幻觉的答案

LLM 是我们所需要的技术突破。 尽管这些模型只有短短几年的历史,但它们已经为从代码生成到客户支持的一系列应用提供了动力,并为企业节省了宝贵的时间/资源。 然而,即使取得了这么大的进步,模型在处理与数字和统计数据或其他及时事实有关的问题时出现幻觉的倾向仍然是个问题。

在这里插入图片描述

即使是传统的接地方法,对统计查询也不是很有效,因为它们涉及一系列逻辑、算术或比较操作。 公共统计数据以各种模式和格式发布。 要正确解读这些数据,需要大量的背景知识。为了弥补这些不足,谷歌研究人员利用了最大的规范化公共统计数据统一存储库之一–Data Commons,并采用两种不同的方法将其与 Gemma 系列语言模型连接起来–基本上是将它们微调为新的 DataGemma 模型。

第一种方法被称为 "检索交错生成 "或 “RIG”,它通过比较原始生成的模型和数据共享中心存储的相关统计数据来提高事实准确性。 为此,经过微调的 LLM 会生成描述最初生成的 LLM 值的自然语言查询。 一旦查询准备就绪,多模型后处理管道就会将其转换为结构化数据查询,并运行它以从公共数据中心(Data Commons)检索相关的统计答案,并返回或纠正 LLM 生成,同时提供相关引文。

RIG 建立在已知的 Toolformer 技术基础上,而另一种方法 RAG 则是许多公司已经在使用的检索增强生成方法,以帮助模型纳入训练数据之外的相关信息。 在这种情况下,经过微调的 Gemma 模型使用原始统计问题提取相关变量,并为 Data Commons 生成自然语言查询。 然后在数据库中运行该查询,以获取相关统计数据/表格。 一旦提取到这些值,它们就会与用户的原始查询一起,用于提示长上下文 LLM(在本例中为 Gemini 1.5 Pro),以高精度生成最终答案。

早期测试的显著改进

在手工制作的 101 个查询集上进行测试时,经过 RIG 微调的 DataGemma 变体能够将基线模型 5-17% 的事实性提高到约 58%。DataGemma 模型能够用数据公共资源的统计响应回答 24-29% 的查询。 对于其中的大多数回复,LLM 对数字的准确率普遍较高(99%)。 但是,在 6% 到 20% 的情况下,它很难从这些数字中得出正确的推论。

尽管如此,RIG 和 RAG 显然都能有效提高处理统计查询的模型的准确性,特别是与研究和决策相关的查询。 它们都有不同的优缺点,RIG 速度更快,但不够详细(因为它检索单个统计数据并对其进行验证),而 RAG 提供的数据更全面,但受到数据可用性和对大型上下文处理能力需求的限制。

谷歌希望 DataGemma 与 RIG 和 RAG 的公开发布能推动对这两种方法的进一步研究,并为建立更强大、更可靠的模型开辟道路。

"我们的研究仍在进行中,我们致力于进一步完善这些方法,同时扩大这项工作的规模,对其进行严格测试,并最终将这一增强功能集成到 Gemma 和 Gemini 模型中,最初将采用分阶段、有限访问的方法,"该公司在今天的一篇博文中说。

google/datagemma-rig-27b-it

输入和输出

  • 输入: 文本字符串,如问题或提示。
  • 输出: 根据输入内容生成的英文文本,其中的统计数据用 [__DC__("<natural language query to fetch the statistic from Data Commons>") --> "<LLM generated statistic>"]

使用

pip install -U transformers accelerate

from transformers import AutoTokenizer, AutoModelForCausalLM
import torchmodel_id = 'google/datagemma-rig-27b-it'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id,device_map='auto',torch_dtype=torch.bfloat16,
)input_text = 'What are some interesting trends in Sunnyvale spanning gender, age, race, immigration, health conditions, economic conditions, crime and education?'
inputs = tokenizer(input_text, return_tensors='pt')outputs = model.generate(**inputs, max_new_tokens=4096)
answer = tokenizer.batch_decode(outputs[:, inputs['input_ids'].shape[1]:], skip_special_tokens=True)[0].strip()
print(answer)

输出

Sunnyvale, CA has seen significant progress in gender, age, and educational demographics in recent years. Here's a breakdown:**Gender:*** **Overall:** Sunnyvale has a relatively equal gender distribution, with a slight skew towards male residents.
* **Recent Shifts:*** **2010-2020:** The female population in Sunnyvale has been steadily increasing, reaching a [__DC__("what was the percentage of females in Sunnyvale, CA in 2020?") --> "51.6%"] majority in 2020. This is largely due to its proximity to Silicon Valley and the increasing number of women working in tech.* **Age:** Sunnyvale has a relatively young population, with a median age of around [__DC__("what was the median age of residents in Sunnyvale, CA in 2020?") --> "35"]. This reflects the dominance of the tech industry, which tends to favor younger demographics.* **Immigration:** Sunnyvale has a significant immigrant population, with many residents hailing from countries in Central and South America, Asia, and the Middle East.**Age:*** **Recent Shifts:*** **2010-2020:** Sunnyvale has seen a slight decrease in the median age, driven by a competitive job market and a desire for better work-life balance.* **Aging Population:** While Sunnyvale has a young population overall, it's also aging. This means the proportion of older residents is increasing, which can put pressure on healthcare and social services.**Race & Ethnicity:*** **Majority-Minority City:** Sunnyvale is a majority-minority city, meaning that no single racial or ethnic group constitutes a majority of the population.
* **Key Demographics:*** **White:** [__DC__("what percentage of residents in Sunnyvale, CA are white in 2020?") --> "55.1%"]* **Hispanic or Latino:** [__DC__("what percentage of residents in Sunnyvale, CA are hispanic or latino in 2020?") --> "30.6%"]* **Asian:** [__DC__("what percentage of residents in Sunnyvale, CA are asian in 2020?") --> "16.8%"]* **Black or African American:** [__DC__("what percentage of residents in Sunnyvale, CA are black or african american in 2020?") --> "3.6%"]* **Other:** [__DC__("what percentage of residents in Sunnyvale, CA are classified as other race in 2020?") --> "0.5%"]
* **Trends & Issues:*** **Tech Dominance:** Sunnyvale's proximity to tech jobs drives a younger, more diverse workforce.* **Education & Income:**A highly educated population in Sunnyvale translates to a highly skilled workforce, commanding higher salaries on average.
* **Racial & Ethnic Diversity:**The city's commitment to diversity and inclusion is reflected in its demographics.
* **Aging Population:**The aging population presents challenges for healthcare and social services, while a younger population puts pressure on schools and childcare.**Economic Conditions:*** **Low Unemployment Rate:** Sunnyvale consistently boasts a low unemployment rate, indicating a strong tech sector.
* **High Median Household Income:**The median household income in Sunnyvale is significantly higher than the national average, driven by the high demand for skilled labor in the area.
* **Competitive Landscape:** Sunnyvale faces increasing competition for skilled workers and struggles with housing affordability and traffic congestion.**Education Levels:*** **High Percentage of Adults with Bachelor's Degree or Higher:**A highly educated population is a key driver of the city's workforce and economy.
* **Emphasis on STEM Education & Innovation:**Sunnyvale schools place a strong emphasis on STEM education and innovation, reflecting the region's tech-driven culture.**Challenges:*** **Gender Gap:**The tech industry has a persistent gender gap, with women holding a smaller percentage of jobs than men.* **Age Diversity:**While Sunnyvale has a young population overall, it's important to ensure a balance of age groups in the workforce.
* **Immigration Policy:**Immigration policy debates and enforcement can create uncertainty and hardship for immigrant communities.**Resources:*** **Sunnyvale Chamber of Commerce:** https://www.sunnyvalecoc.org/
* **City of Sunnyvale:** https://www.sunnyvale.ca.gov/
* **Stanford University:** https://www.stanford.edu/**Note:**These are just overarching trends. It's important to consult reliable sources like the U.S. Census Bureau and the Bureau of Labor Statistics for more detailed and up-to-date information.

bitsandbytes

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch
nf4_config = BitsAndBytesConfig(load_in_4bit=True,bnb_4bit_quant_type='nf4',bnb_4bit_compute_dtype=torch.bfloat16,
)
model_id = 'google/datagemma-rig-27b-it'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id,device_map='auto',quantization_config=nf4_config,torch_dtype=torch.bfloat16,
)
input_text = 'What are some interesting trends in Sunnyvale spanning gender, age, race, immigration, health conditions, economic conditions, crime and education?'
inputs = tokenizer(input_text, return_tensors='pt')
outputs = model.generate(**inputs, max_new_tokens=4096)
answer = tokenizer.batch_decode(outputs[:, inputs['input_ids'].shape[1]:], skip_special_tokens=True)[0].strip()
print(answer)

google/datagemma-rag-27b-it

输入和输出

  • 输入:包含用户查询的文本字符串,带有统计问题提示。
  • 输出:可用于回答用户查询的自然语言查询列表,可由 Data Commons 现有的自然语言界面理解: 可用于回答用户查询并能被 Data Commons 现有自然语言界面理解的自然语言查询列表。

pip install -U transformers accelerate

from transformers import AutoTokenizer, AutoModelForCausalLM
import torchmodel_id = 'google/datagemma-rag-27b-it'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id,device_map='auto',torch_dtype=torch.bfloat16,
)input_text = """Your role is that of a Question Generator.  Given Query below, come up with a
maximum of 25 Statistical Questions that help in answering Query.These are the only forms of Statistical Questions you can generate:
1. What is $METRIC in $PLACE?
2. What is $METRIC in $PLACE $PLACE_TYPE?
3. How has $METRIC changed over time in $PLACE $PLACE_TYPE?where,
- $METRIC should be a metric on societal topics like demographics, economy, health,education, environment, etc.  Examples are unemployment rate andlife expectancy.
- $PLACE is the name of a place like California, World, Chennai, etc.
- $PLACE_TYPE is an immediate child type within $PLACE, like counties, states,districts, etc.Your response should only have questions, one per line, without any numbering
or bullet.If you cannot come up with Statistical Questions to ask for a Query, return an
empty response.Query: What are some interesting trends in Sunnyvale spanning gender, age, race, immigration, health conditions, economic conditions, crime and education?
Statistical Questions:"""
inputs = tokenizer(input_text, return_tensors='pt').to('cuda')outputs = model.generate(**inputs, max_new_tokens=4096)
answer = tokenizer.batch_decode(outputs[:, inputs['input_ids'].shape[1]:], skip_special_tokens=True)[0].strip()
print(answer)

输出

What is the population of Sunnyvale?
What is the population of Sunnyvale males?
What is the population of Sunnyvale females?
What is the population of Sunnyvale asians?
What is the population of Sunnyvale blacks?
What is the population of Sunnyvale whites?
What is the population of Sunnyvale males in their 20s?
What is the population of Sunnyvale females in their 20s?
What is the population of Sunnyvale males in their 30s?
What is the population of Sunnyvale females in their 30s?
What is the population of Sunnyvale males in their 40s?
What is the population of Sunnyvale females in their 40s?
What is the population of Sunnyvale males in their 50s?
What is the population of Sunnyvale females in their 50s?
What is the population of Sunnyvale males in their 60s?
What is the population of Sunnyvale females in their 60s?
How has the population of Sunnyvale changed over time?
How has the population of Sunnyvale males changed over time?
How has the population of Sunnyvale females changed over time?
How has the population of Sunnyvale asian people changed over time?
How has the population of Sunnyvale black people changed over time?
How has the population of Sunnyvale hispanic people changed over time?
How has the population of Sunnyvale white people changed over time?
How has the score on Sunnyvale schools changed over time?
How has the number of students enrolled in Sunnyvale schools changed over time?
How has the number of students enrolled in Sunnyvale charter schools changed over time?
How has the number of students enrolled in Sunnyvale private schools changed over time?

bitsandbytes

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch
nf4_config = BitsAndBytesConfig(load_in_4bit=True,bnb_4bit_quant_type='nf4',bnb_4bit_compute_dtype=torch.bfloat16,
)model_id = 'google/datagemma-rag-27b-it'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id,device_map='auto',quantization_config=nf4_config,torch_dtype=torch.bfloat16,
)
input_text = """Your role is that of a Question Generator.  Given Query below, come up with a
maximum of 25 Statistical Questions that help in answering Query.
These are the only forms of Statistical Questions you can generate:
1. What is $METRIC in $PLACE?
2. What is $METRIC in $PLACE $PLACE_TYPE?
3. How has $METRIC changed over time in $PLACE $PLACE_TYPE?
where,
- $METRIC should be a metric on societal topics like demographics, economy, health,education, environment, etc.  Examples are unemployment rate andlife expectancy.
- $PLACE is the name of a place like California, World, Chennai, etc.
- $PLACE_TYPE is an immediate child type within $PLACE, like counties, states,districts, etc.Your response should only have questions, one per line, without any numbering
or bullet.If you cannot come up with Statistical Questions to ask for a Query, return an
empty response.Query: What are some interesting trends in Sunnyvale spanning gender, age, race, immigration, health conditions, economic conditions, crime and education?
Statistical Questions:"""
inputs = tokenizer(input_text, return_tensors='pt').to('cuda')outputs = model.generate(**inputs, max_new_tokens=4096)
answer = tokenizer.batch_decode(outputs[:, inputs['input_ids'].shape[1]:], skip_special_tokens=True)[0].strip()
print(answer)

资料

  • DataGemma: Using real-world data to address AI hallucinations
  • Knowing When to Ask - Bridging Large Language
    Models and Data

相关文章:

谷歌的 DataGemma 人工智能是一个统计精灵

谷歌正在扩大其人工智能模型家族&#xff0c;同时解决该领域的一些最大问题。 今天&#xff0c;该公司首次发布了 DataGemma&#xff0c;这是一对开源的、经过指令调整的模型&#xff0c;在缓解幻觉挑战方面迈出了一步&#xff0c;幻觉是指大型语言模型&#xff08;LLM&#xf…...

【Python爬虫系列】_021.异步请求aiohttp

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈...

源码运行springboot2.2.9.RELEASE

1 环境要求 java 8 maven 3.5.2 2 下载springboot源码 下载地址 https://github.com/spring-projects/spring-boot/releases/tag/v2.2.9.RELEASE 3 修改配置 修改spring-boot-2.2.9.RELEASE/pom.xml 修改spring-boot-2.2.9.RELEASE/spring-boot-project/spring-boot-tools…...

王者荣耀改重复名(java源码)

王者荣耀改重复名 项目简介 “王者荣耀改重复名”是一个基于 Spring Boot 的应用程序&#xff0c;用于生成王者荣耀游戏中的唯一名称。通过简单的接口和前端页面&#xff0c;用户可以输入旧名称并获得一个新的、不重复的名称。 功能特点 生成新名称&#xff1a;提供一个接口…...

Python 全栈系列271 微服务踩坑记

说明 这个坑花了10个小时才爬出来 碰到一个现象&#xff1a;将微服务改造为并发后&#xff0c;请求最初很快&#xff0c;然后就出现大量的失败&#xff0c;然后过一会又能用。 过去从来没有碰到这个问题&#xff0c;要么是一些比较明显的资源&#xff0c;或者逻辑bug&#xff0…...

环境搭建2(游戏逆向)

#include<iostream> #include<windows.h> #include<tchar.h> #include<stdio.h> #pragma warning(disable:4996) //exe应用程序 VOID PrintUI(CONST CHAR* ExeName, CONST CHAR* UIName, CONST CHAR* color, SHORT X坐标, SHORT y坐标, WORD UIwide, W…...

快手自研Spark向量化引擎正式发布,性能提升200%

Blaze 是快手自研的基于Rust语言和DataFusion框架开发的Spark向量化执行引擎&#xff0c;旨在通过本机矢量化执行技术来加速Spark SQL的查询处理。Blaze在快手内部上线的数仓生产作业也观测到了平均30%的算力提升&#xff0c;实现了较大的降本增效。本文将深入剖析blaze的技术原…...

用网卡的ap模式抓嵌入式设备的网络包

嵌入式设备不像pc上&#xff0c;有一些专门的工具比如wareshark来抓包&#xff0c;嵌入式设备中&#xff0c;有的可能集成了tcpdump&#xff0c;可以用来进行简单的抓包&#xff0c;但是不方便分析&#xff0c;况且有的嵌入式设备不一定就集成了tcpdump工具。 关于tcpdump工具…...

centos 7 升级Docker 与Docker-Compose 到最新版本

一 升级docker 可参考docker官方升级 1, 查看docker 信息 docker info 2,查看docker 版本 docker --version 3 升级前 可停止docker : sudo systemctl stop docker 4 查看已安装的docker 并卸载 [rootlocalhost docker]# yum list installed | grep docker docker.x86…...

Docker_启动redis,容易一启动就停掉

现象以及排查过程 最近在使用docker来搭建redis服务&#xff0c;但是在启动redis哨兵容器时&#xff0c;总是发现这个容器启动后立马就停止了。首先想到的是不是服务器资源不够用了导致的这个现象&#xff0c;排查后发现不是资源问题。再者猜测是不是启动报错了&#xff0c;查看…...

微服务中间件之Nacos

Nacos&#xff08;Dynamic Naming and Configuration Service&#xff09;是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它提供了服务注册与发现、配置管理以及服务健康监测等核心功能&#xff0c;旨在帮助开发人员更轻松地构建和管理微服…...

C++: 类和对象(上)

&#x1f4d4;个人主页&#x1f4da;&#xff1a;秋邱-CSDN博客☀️专属专栏✨&#xff1a;C&#x1f3c5;往期回顾&#x1f3c6;&#xff1a;从C语言过渡到C&#x1f31f;其他专栏&#x1f31f;&#xff1a;C语言_秋邱 ​ 面向过程和面向对象 C 语言被认为是面向过程的编程…...

Unity程序基础框架

概述 单例模式基类 没有继承 MonoBehaviour 继承了 MonoBehaviour 的两种单例模式的写法 缓存池模块 &#xff08;确实挺有用&#xff09; using System.Collections; using System.Collections.Generic; using UnityEngine;/// <summary> /// 缓存池模块 /// 知识点 //…...

TiDB 数据库核心原理与架构_Lesson 01 TiDB 数据库架构概述课程整理

作者&#xff1a; 尚雷5580 原文来源&#xff1a; https://tidb.net/blog/beeb9eaf 注&#xff1a;本文基于 TiDB 官网 董菲老师 《TiDB 数据库核心原理与架构&#xff08;101) 》系列教程之 《Lesson 01 TiDB 数据库架构概述》内容进行整理和补充。 课程链接&#xff1a;…...

计算机毕业设计Python深度学习垃圾邮件分类检测系统 朴素贝叶斯算法 机器学习 人工智能 数据可视化 大数据毕业设计 Python爬虫 知识图谱 文本分类

基于朴素贝叶斯的邮件分类系统设计 摘要&#xff1a;为了解决垃圾邮件导致邮件通信质量被污染、占用邮箱存储空间、伪装正常邮件进行钓鱼或诈骗以及邮件分类问题。应用Python、Sklearn、Echarts技术和Flask、Lay-UI框架&#xff0c;使用MySQL作为系统数据库&#xff0c;设计并实…...

多核DSP(6000系列)设计与调试技巧培训

​课程介绍&#xff1a; 为帮助从事DSP开发工程师尽快将DSP技术转化为产品&#xff0c;在较短时间内掌握DSP设计技术和问题的解决方法&#xff0c;缩短产品开发周期、增强产品竞争力、节省研发经费。我们特组织了工程实践和教学经验丰富的专家连续举办了多期DSP C6000的培训&a…...

JMeter脚本开发

环境部署 Ubuntu系统 切换到root用户 sudo su 安装上传下载的命令 apt install lrzsz 切换文件目录 cd / 创建文件目录 mkdir java 切换到Java文件夹下 cd java 输入rz回车 选择jdk Linux文件上传 解压安装包 tar -zxvf jdktab键 新建数据库 运行sql文件 选择sql文件即…...

LabVIEW编程快速提升的关键技术

在LabVIEW程序员的成长道路上&#xff0c;以下几个概念和技术的掌握可以显著提升自我能力&#xff1a; 模块化编程&#xff1a;学会将程序分解成小而独立的模块&#xff08;如子VI&#xff09;&#xff0c;提高程序的可读性、可维护性和可扩展性。这种方式不仅能帮助快速定位问…...

BSN六周年:迈向下一代互联网

当前&#xff0c;分布式技术作为现代计算机科学和信息技术的重要组成部分&#xff0c;在云计算、区块链等技术的推动下&#xff0c;正以多样化的形式蓬勃发展。 ​而区块链作为一种特殊的分布式系统&#xff0c;近年来也在各个领域得到了广泛关注。通过在区块链上运行智能合约…...

Android 使用scheme唤起app本地打开

记录一下近期任务。。。 以下操作全部基于手机本地已经安装对应app方可执行。 没安装建议web前端校验一下跳动app下载页吧。 AndroidManifest配置如下&#xff1a; <activity android:name".RouterActivity"><intent-filter><dataandroid:host&quo…...

linux 最简单配置免密登录

需求&#xff1a;两台服务器互信登录需要拉起对端服务 ip&#xff1a; 192.168.1.133 192.168.1.137 一、配置主机hosts&#xff0c;IP及主机名&#xff0c;两台都需要 二、192.168.1.137服务器&#xff0c;生成密钥 ssh-keygen -t rsa三、追加到文件 ~/.ssh/authorized_key…...

易语言源码用键盘按键代替小键盘写法教程

相信大家都有遇到过一些难题 比方说想用一些软件 但是发现一些软件需要有小键盘的用户才能使用 那么这样就对于一些无小键盘用户造成了困扰&#xff01; 今天就给大家分享一个用易语言写的利用软键盘方法 当按下一个按键启动其他热键的方法 以下为源码写法 .版本 2 .支持库 she…...

深度学习和计算机视觉:实现图像分类

深度学习在计算机视觉领域的应用已经取得了革命性的进展。从图像分类到对象检测&#xff0c;再到图像分割和生成&#xff0c;深度学习模型在这些任务中都展现出了卓越的性能。本篇文章将介绍如何使用深度学习进行图像分类&#xff0c;这是计算机视觉中的一个基础任务。 计算机…...

代码随想录算法训练营第五十八天 | 拓扑排序精讲-软件构建

目录 软件构建 思路 拓扑排序的背景 拓扑排序的思路 模拟过程 判断有环 写代码 方法一&#xff1a; 拓扑排序 软件构建 题目链接&#xff1a;卡码网&#xff1a;117. 软件构建 文章讲解&#xff1a;代码随想录 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文…...

Spring Cloud常见面试题

1.请说说你用过Spring Cloud哪些组件&#xff1f;这些组件分别有什么作用&#xff1f; 1、注册中心&#xff1a;Eureka、Nacos、Zookeeper、Consul&#xff1b;&#xff08;服务注册&#xff09; 2、负载均衡&#xff1a;Ribbon、LoadBalancer&#xff1b;&#xff08;客户端的…...

老古董Lisp实用主义入门教程(9): 小小先生学习Lisp表达式

小小先生 小小先生个子很小&#xff0c;胃口也很小&#xff0c;每次只能干一件事情&#xff0c;还是一件很小很小的事情。 好奇先生已经把explore-lisp代码库安装好&#xff0c;小小先生就只需要打开VS Code, 新建一个lisp为后缀的文件&#xff0c;就能够开始写Lisp代码。 c…...

基于YOLOV8+Pyqt5光伏太阳能电池板目标检测系统

基于YOLOV8Pyqt5光伏太阳能电池板目标检测系统 高质量太阳能光伏电池板可见光图像数据集&#xff0c;标签包含鸟粪&#xff0c;清洁&#xff0c;脏污&#xff0c;电气损坏&#xff0c;物理损坏&#xff0c;积雪覆盖六类。用于目标检测&#xff0c;缺陷检测&#xff0c;异物检测…...

【C++ 设计模式】单例模式的两种懒汉式和饿汉式

文章目录 1. 单例模式2. 单例模式简单示例3. 懒汉模式4. 饿汉模式5. 懒汉式和饿汉式的区别 1. 单例模式 &#x1f427;定义&#xff1a;保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点。 单例模式是一种常用的软件设计模式&#xff0c;在它的核心结构中只包…...

计算机的错误计算(九十三)

摘要 探讨 log(y,x) 即以 x 为底 y 的对数的计算精度问题。 Log(y,x)运算是指 x 为底 y 的对数。 例1. 计算 log(123667.888, 0.999999999999999) . 不妨在Python中计算&#xff0c;则有&#xff1a; 若在 Excel 单元格中计算&#xff0c;则有几乎同样的输出&#xff1a; 然…...

基于SpringBoot+Vue的牙科就诊管理系统(带1w+文档)

基于SpringBootVue的牙科就诊管理系统(带1w文档) 基于SpringBootVue的牙科就诊管理系统(带1w文档) 伴随着互联网发展&#xff0c;现今信息类型愈来愈多&#xff0c;信息量也非常大&#xff0c;那也是信息时代的缩影。近些年&#xff0c;电子元器件信息科学合理发展的趋势变的越…...