HuggingFace (transformers) 自定义图像数据集、使用 DeiT 模型、Trainer 进行训练回归任务
资料
Hugging Face 官方文档:https://huggingface.co/
Hugging Face 代码链接:https://github.com/huggingface/transformers
1. 环境准备
- 创建 conda 环境
- 激活 conda 环境
- 下载 transformers 依赖
- 下载 transformers 中需要处理数据集的依赖
- 下载 pytorch 依赖,因为这里使用的 transformers 是基于 PyTorch 实现的,所以需要导入 pytorch 依赖
- 下载 tensorboard 依赖。训练过程中,使用 TensorBoard 可视化
conda create -n hugging python=3.7
conda activate hugging
conda install -c huggingface transformers
conda install datasets
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
conda install tensorboard
- 打开 PyCharm,配置 Interpreter
依次点击:File -> Settings:
然后选择刚才创建的 conda 环境
2 任务及数据集描述
需求说明:有一个视线估计任务,输入为人脸图像,输出为该人脸图像在手机屏幕上的注视点坐标 (x, y)。
数据集的目录结构如下:
\GazeCapture_new-- Image-- 00002-- face-- 00000.jpg-- 00001.jpg-- .....-- grid-- .....-- left-- ....-- right-- .....-- 00003-- face-- .....-- grid-- .....-- left-- ....-- right-- .....-- ......-- Label-- train-- 00002.label-- .....-- test-- 03024.label-- .....-- val-- ......
每一个标签文件中的内容,如 00002.label 存储的内容
Face Left Right Grid Xcam, Ycam Xdot, Ydot Device
00002\face\00000.jpg 00002\left\00000.jpg 00002\right\00000.jpg 00002\grid\00000.jpg 1.064,-6.0055 160,284 iPhone6
00002\face\00001.jpg 00002\left\00001.jpg 00002\right\00001.jpg 00002\grid\00001.jpg 1.064,-6.0055 160,284 iPhone6
00002\face\00002.jpg 00002\left\00002.jpg 00002\right\00002.jpg 00002\grid\00002.jpg 1.064,-6.0055 160,284 iPhone6
00002\face\00003.jpg 00002\left\00003.jpg 00002\right\00003.jpg 00002\grid\00003.jpg 1.064,-6.0055 160,284 iPhone6
.......
- Face 表示脸部图片的存储路径。
- Left 表示左眼图片的存储路径。
- Right 表示右眼图片的存储路径。
- Grid 表示网格图片的存储路径。
- Xcam, Ycam 是标签,表示人脸图片对应的视线位置的 (x, y) 坐标,单位为厘米。 后续的训练过程使用这两个值作为标签。
- Xdot, Ydot 表示人脸图片对应的视线位置的 (x, y) 坐标,单位为像素。
- Device 表示采集设备型号。
如果想要使用我的数据集,先把代码跑通,这里提供我使用的部分数据集作为参考,但由于不是完整的数据集,所以训练效果不是很好,仅供跑通代码作为参考。
https://drive.google.com/file/d/1gM-wzkaEcnw0GEKQ2eedpYlvjuqhp3gA/view?usp=sharing
3. DataSet
!!!注意:Dataset 一定不要完全粘贴我的代码,一定要按照自己的数据集编写对应代码。只有以下几点需要和我一模一样:
- 自定义类继承
Dataset
,自定义的类名可以自行命名。 - 重写
__init__
、__len__
、__getitem__
这三个方法,方法内的具体逻辑根据自己的数据集修改。 __getitem__
方法的返回值形式一定要是{"labels": xxx, "pixel_values": xxx}
。
import os.pathfrom torch.utils.data import Dataset
from transform import transform
import numpy as np# 读取数据,如果是训练数据,随即打乱数据顺序
def get_label_list(label_path):# 存储所有标签文件中的所有内容full_lines = []# 获取所有标签文件的名称,如 00002.label, 00003.label, ......label_names = os.listdir(label_path)# 遍历每一个标签文件,并读取其中内容for label_name in label_names:# 标签文件全路径,如 D:\datasets\GazeCapture_new\Label\train\00002.labellabel_abs_path = os.path.join(label_path, label_name)# 读取每一个标签文件中的内容with open(label_abs_path) as flist:# 存储该标签文件中的所有内容full_line = []for line in flist:full_line.append(line.strip())# 移除首行表头 'Face Left Right Grid Xcam, Ycam Xdot, Ydot Device'full_line.pop(0)full_lines.extend(full_line)return full_linesclass GazeCaptureDataset(Dataset):def __init__(self, root_path, data_type):self.data_dir = root_path# 标签文件的根路径,如 D:\datasets\GazeCapture_new\Label\trainlabel_root_path = os.path.join(root_path + '/Label', data_type)# 获取所有标签文件中的所有内容self.full_lines = get_label_list(label_root_path)# 每一行内容的分隔符self.delimiter = ' '# 数据集长度,也就是一共有多少个图片self.num_samples = len(self.full_lines)def __len__(self):return self.num_samplesdef __getitem__(self, idx):# 标签文件的一行,对应一个训练实例line = self.full_lines[idx]# 将标签文件中的一行内容按照分隔符进行分割Face, Left, Right, Grid, XYcam, XYdot, Device = line.split(self.delimiter)# 获取网络的输入:人脸图片face_path = os.path.join(self.data_dir + '/Image/', Face)# 读取人脸图像with open(face_path, 'rb') as f:img = f.read()# 将人脸图像进行格式转化:缩放、裁剪、标准化pixel_values = transform(img)# 获取标签值labels = np.array(XYcam.split(","), np.float32)# 注意返回值的形式一定要是 {"labels": xxx, "pixel_values": xxx}result = {"labels": labels}result["pixel_values"] = pixel_valuesreturn result
transform.py 工具类的代码如下:
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.import numpy as np
import cv2
from PIL import Image# 定义decode_image函数,将图片转为Numpy格式r
def decode_image(img, to_rgb=True):data = np.frombuffer(img, dtype='uint8')img = cv2.imdecode(data, 1)if to_rgb:assert img.shape[2] == 3, 'invalid shape of image[%s]' % (img.shape)img = img[:, :, ::-1]return img# 定义resize_image函数,对图片大小进行调整
def resize_image(img, size=None, resize_short=None, interpolation=-1):interpolation = interpolation if interpolation >= 0 else Noneif resize_short is not None and resize_short > 0:resize_short = resize_shortw = Noneh = Noneelif size is not None:resize_short = Nonew = size if type(size) is int else size[0]h = size if type(size) is int else size[1]else:raise ValueError("invalid params for ReisizeImage for '\'both 'size' and 'resize_short' are None")img_h, img_w = img.shape[:2]if resize_short is not None:percent = float(resize_short) / min(img_w, img_h)w = int(round(img_w * percent))h = int(round(img_h * percent))else:w = wh = hif interpolation is None:return cv2.resize(img, (w, h))else:return cv2.resize(img, (w, h), interpolation=interpolation)# 定义crop_image函数,对图片进行裁剪
def crop_image(img, size):if type(size) is int:size = (size, size)else:size = size # (h, w)w, h = sizeimg_h, img_w = img.shape[:2]w_start = (img_w - w) // 2h_start = (img_h - h) // 2w_end = w_start + wh_end = h_start + hreturn img[h_start:h_end, w_start:w_end, :]# 定义normalize_image函数,对图片进行归一化
def normalize_image(img, scale=None, mean=None, std=None, order= ''):if isinstance(scale, str):scale = eval(scale)scale = np.float32(scale if scale is not None else 1.0 / 255.0)mean = mean if mean is not None else [0.485, 0.456, 0.406]std = std if std is not None else [0.229, 0.224, 0.225]shape = (3, 1, 1) if order == 'chw' else (1, 1, 3)mean = np.array(mean).reshape(shape).astype('float32')std = np.array(std).reshape(shape).astype('float32')if isinstance(img, Image.Image):img = np.array(img)assert isinstance(img, np.ndarray), "invalid input 'img' in NormalizeImage"# 对图片进行归一化return (img.astype('float32') * scale - mean) / std# 定义to_CHW_image函数,对图片进行通道变换,将原通道为‘hwc’的图像转为‘chw‘
def to_CHW_image(img):if isinstance(img, Image.Image):img = np.array(img)# 对图片进行通道变换return img.transpose((2, 0, 1))# 图像预处理方法汇总
def transform(data, mode='train'):# 图像解码data = decode_image(data)# 图像缩放data = resize_image(data, resize_short=224)# 图像裁剪data = crop_image(data, size=224)# 标准化data = normalize_image(data, scale=1./255., mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])# 通道变换data = to_CHW_image(data)return data
4. 训练
from transformers import TrainingArguments
from transformers import DeiTForImageClassification
from torch import nn
from transformers import Trainer
from transformers import DeiTConfig
from dataset import GazeCaptureDataset# 数据集根路径
root_path = r"D:\datasets\GazeCapture_new"
# 1.定义 Dataset
train_dataset = GazeCaptureDataset(root_path, data_type='train')
val_dataset = GazeCaptureDataset(root_path, data_type='val')# 2.定义 DeiT 图像模型
'''
num_labels 表示图像的输出值为 2,即 (x, y) 两个坐标值
problem_type="regression" 表示任务是回归任务
'''
configuration = DeiTConfig(num_labels=2, problem_type="regression")
model = DeiTForImageClassification(configuration)# 3.训练
## 3.1 训练参数
'''
output_dir:模型预测和 checkpoint 的输出目录。
evaluation_strategy 训练过程中采用的验证策略。可能的取值有:"no": 训练过程中不验证"steps": 在每个 eval_steps 中执行(并记录)验证。"epoch": 在每个 epoch 结束时进行验证。
eval_steps=100:每 100 次训练执行一次验证。
per_device_train_batch_size/per_device_eval_batch_size:用于训练/验证的 batch size。
logging_dir:TensorBoard 日志目录。默认为 *output_dir/runs/CURRENT_DATETIME_HOSTNAME*。
logging_steps=50:每隔 50 步写入 TensorBoard
save_strategy 训练期间采用的 checkpoint 保存策略。可能取值为:"no": 训练期间不保存 checkpoint"epoch": 每个 epoch 结束后保存 checkpoint"steps": 每个 save_steps 结束后保存 checkpoint
save_steps=100:每 100 次训练保存一次 checkpoint
'''
training_args = TrainingArguments(output_dir="gaze_trainer",evaluation_strategy="steps",eval_steps=100,per_device_train_batch_size=2,per_device_eval_batch_size=2,logging_dir='./logs',logging_steps=50,save_strategy="steps",save_steps=100)
## 3.2 自定义 Trainer
class RegressionTrainer(Trainer):# 重写计算 loss 的函数def compute_loss(self, model, inputs, return_outputs=False):# 获取标签值labels = inputs.get("labels")# 获取输入值x = inputs.get("pixel_values")# 模型输出值outputs = model(x)logits = outputs.get('logits')# 定义损失函数为平滑 L1 损失loss_fct = nn.SmoothL1Loss()# 计算输出值和标签的损失loss = loss_fct(logits, labels)return (loss, outputs) if return_outputs else loss## 3.3 定义Trainer对象:
trainer = RegressionTrainer(model=model,args=training_args,train_dataset=train_dataset,eval_dataset=val_dataset
)## 3.4 开始训练:
trainer.train()
更多 Trainer 参数参考:https://huggingface.co/docs/transformers/main_classes/trainer#transformers.TrainingArguments
5. 查看 Tensorboard
在当前工程目录下,打开命令行,执行
(hugging) PS D:\PycharmProjects\hugging> tensorboard --logdir ./logs
然后打开浏览器,访问 http://localhost:6006/ ,即可看到训练过程的 TensorBoard 可视化结果:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4500738.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
阿里技术开源,移动技术三驾马车Weex/Atlas/ACCS
阿里开源了14个核心技术,你了解哪些?- http://www.sohu.com/a/213256821_629652 阿里公开Weex技术架构,还开源了一大波组件- http://www.sohu.com/a/219059803_629652 客户端的容器化架构、移动网络管道架构、云服务架构和数据架构. 在业界&…...
Android 之 阿里百川 -- 云消息推送服务
Android SDK 3.0配置 本集成文档适用于V3.0.0及以上版本。 Android参考Demo。 新版Android SDK(v3.0.0及以上)支持两种集成方式 1.Maven库快速集成 2.手动集成 Maven库快速集成,该集成方案配置简单,不容易出问题,后续更新方便,…...

R语言机器学习mlr3:嵌套重抽样
获取更多R语言和生信知识,请关注公众号:医学和生信笔记。 公众号后台回复R语言,即可获得海量学习资料! 目录嵌套重抽样进行嵌套重抽样评价模型把超参数应用于模型嵌套重抽样 既有外部重抽样,也有内部重抽样࿰…...
R手册(Machine Learning)--mlr(Part 1)
文章目录IntroductionPreprocessing data (预处理)Task and Learner1. Create a task2. Making a learnerTraining & Testing (训练和测试)1. Setting hyperparameters (设置超参数)2. Train a model and predict (训练模型和预测)3. Measuring performance (模型评估质量)…...

阻塞队列线程池
前言 阻塞队列是线程池的基础。两者都是面试热点,尤其是线程池。所以我特地花时间学习了一下这方面的知识,并做记录。 一.阻塞队列 这个其实用的非常多。安卓里面 Handler机制的MessageQueue,我认为就是一个阻塞队列。阻塞队列与一般的队列…...

Datawhale动手学习数据分析-Task2
数据处理总结: 缺失值处理 该数据集缺失的都是类别特征里的,且部分类别特征与某些匿名变量线性相关性强 考虑填充新的值,比如-1 填充众数、平均数(需要取整),knn邻近(速度慢) 异常…...

Python基础(十)——import语句、赋值语句、增量赋值
本文以Python3以上为学习基础。 目录 1、import:模块的引入 2、赋值语句 (1)简单赋值 (2)一一对应赋值:多个变量一起赋值 (3)几个值赋给一个 (4) 数值…...

2022-2028全球过氧化氢蒸汽消毒系统行业调研及趋势分析报告
据恒州诚思调研统计,2021年全球过氧化氢蒸汽消毒系统市场规模约 亿元,2017-2021年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2028年市场规模将接近 亿元,未来六年CAGR为 %。 本文调研和分析全球过氧化…...

win10家庭版下loadrunner11安装
1.安装loadrunner 选择自己的安装路径 关闭loadrunner 用破解文件中的mlr5lprg.dll、lm70.dll覆盖LR11安装目录下“bin”文件夹中的对应文件。并且用管理员运行 打开之后选择Configuration下的Loadrunner License。进入到如下界面点击NewLicense,注册码在lr破解方式…...

C++篇:第四章_函数_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器五、函数 (一)函数使用规则函数的定义不能嵌套但调用可以嵌套在函数调用时,如某一默认参数要指明一个特定值,则有其之前所有参数都必须赋值赋默认实参时一旦…...

随机变量及其分布
随机变量及其分布 一、随机变量 定义1若变量\(X、Y和Z\)都可以看成是定义在随机试验\(E\)的样本空间为\(S = {e}\).上的单值实值函数\(X= X(e)、Y= Y(e)和Z= Z(e)\),我们称其为随机变量.二、离散型随机变量和其分布 1. 离散型随机变量如果随机变量\(X\)的所有可能取值是有限个或…...

2008服务器日志文件,windows2008服务器日志设置
windows2008服务器日志设置 内容精选换一换本节操作指导您完成Windows操作系统云服务器磁盘空间清理。弹性云服务器匀出一部分磁盘空间来充当内存使用,当内存耗尽时,云服务器可以使用虚拟内存来缓解内存的紧张。但当内存使用率已经非常高时,频…...

中文短语抽取/挖掘
中文短语抽取/挖掘 概述 短语抽取/挖掘(phrase extract/mining, 以下统称短语提取)是信息处理中领域的一项基本任务,但短语抽取与短语挖掘还是有些许不同。 短语挖掘侧重于挖掘,一个常见的场景是半自动/自动从生语料中抽取/挖掘出高质量的短语…...

(一)【Java精选面试题】线程池底层实现原理(含答案)
目录1. 谈谈什么是线程池2. 为什么要使用线程池3. 你们哪些地方会使用到线程池4. 线程池有哪些作用5. 线程池的创建方式6. 线程池底层是如何实现复用的7. ThreadPoolExecutor 核心参数有哪些8. 线程池创建的线程会一直在运行状态吗?9. 为什么阿里巴巴不建议使用 Exe…...

阻塞队列与线程池原理
阻塞 取值时,队列为空,取不到阻塞存值时,队列已满,放不进去而阻塞 BlockingQueue add 非阻塞 向一个满的队列里存元素失败时会抛出异常remove非阻塞 向一个空的队列里取元素失败时会抛出异常offer 向一个满的队列里存元素失败时…...

Android bug:accs bindapp error,友盟推送与阿里云视频点播的so配置不兼容问题
1 . 集成友盟推送3.X版本,如果遇到常规的“accs bindapp error”报错,很好处理,按照友盟官方的建议即可: 在build.gradle配置文件中配置如下: ndk {//设置支持的SO库架构abiFilters x86, armeabi} 2 . 我遇到的问题的…...

Java(面试必备):java自带线程池和队列详细讲解
java自带线程池和队列详细讲解 前言 今天博主将为大家分享Java(面试必备):java自带线程池和队列详细讲解,不喜勿喷,如有异议欢迎讨论! 线程的使用在java中占有极其重要的地位,Jdk1.5之后加入了…...
(10)集成学习
上篇主要介绍了鼎鼎大名的EM算法,从算法思想到数学公式推导(边际似然引入隐变量,Jensen不等式简化求导),EM算法实际上可以理解为一种坐标下降法,首先固定一个变量,接着求另外变量的最优解&#…...

量子物理历史趣述
量子力学是在普朗克为了克服经典理论解释黑体辐射规律的困难,引入能量子概念的基础上发展起来的,爱因斯坦提出光量子假说,作用能量子概念使量子理论得到进一步发展。波尔、德布罗意、薛定谔、波恩、狄拉克等人为解决量子力学遇到的困难&#…...

c语言文件操作(万字解析)
c语言文件操作一.文件的打开与关闭1.文件指针-FILE*2.文件的打开与关闭二.文件的顺序读写1.字符操作函数-fgetc和fputc2.字符串操作函数-fgets和fputs3.格式化函数-fprintf和fscanf4.二进制函数-fread和fwrite5.对比一组函数三.文件的随机读写1.fseek和ftell2.调整指针-rewind四…...

android启动流程
启动流程 打开电源,引导芯片代码加载引导程序BootLoader到RAM中执行BootLoader把操作系统拉起来Linux内核启动开始系统设置,找到一个init.rc文件启动初始化进程,init.rc就相当于一个configuration配置文件,记录了后面需要开启的服…...

Proteus仿真运行出现Cannot open C:\Users\...\LISA5476.SDF’报错
问题: win10电脑第一次装了Proteus软件进行仿真,点击run时报了以下错误: 解决办法: 1.在电脑任务栏搜索框搜索“环境变量”,打开电脑的“编辑系统环境变量” 2.双击“用户变量”和“系统变量”栏里的TEMP与TMP&#…...

第三章:对象与基本类型(二)
复合类型:指针及引用 指针 指针是一种复合类型,它本身也是一个对象,在其中存储了其他对象在内存中的首地址,从而建立了从内存到内存之间的指向关系,所以被称为指针。我们可以使用以下的图来形象地理解指针 指针有两…...

解决友盟推送(U-Push)的register不成功,返回错误信息s=-11,s1=accs bindapp error
项目中用到友盟推送U-Push实现版本更新的业务,然而按照官方教程配置完后,在一部4.4的小米上推成功了,但是7.0的华为测试机推不到,代码中跟问题发现 //使用友盟UPush服务进行新版本推送 private void initUPush(){ Pu…...

oracle补丁名称,关于oracle的补丁名称问题mlr,blr
Patches (Types)1) One off patchIt fixes one off type of issue/bugSize is very small2) MLRMultiple such one off type of patches is called merged labelrequest. (Small in size too)3) OUI PatchsetSeveral patches are applied together which will change version...

如何使用 pyqt 实现 Groove 音乐播放器
前言 Win10 自带了一款很好用的音乐播放器 —— Groove 音乐,但是只能支持本地音乐的播放。2020年3月底到4月底,自己一直在学习 PyQt5,然后从 2020年5月开始,着手使用 PyQt5 编写增强版的 Groove 音乐。因为平时有课,所以大部分代码是在寒暑假编写的。 刚开始代码写的很捞…...

精通Spring?请吃我一狗腿
我要是说,很多Java大牛,根本没有深入用过Spring。你可能会非常吃惊,因为Spring应用面如此广泛,特性如此之多,况且Spring、SpringBoot、SpringCloud子孙三代,多次避免了Java的衰弱,功不可没&…...

vuetify1.5表格排序,按时间降序
页面中插入表格的地方设置 data中添加pagination:{},设置根据哪一列排序(sortBy),以及是否递减(descending)...

关于API网关(四)——限流
什么是流量限制 通俗的说,流量控制就是控制用户请求的策略,主要包括:权限、限流、流量调度。 权限上一篇已经讲过了,这一篇讲限流,下一篇讲流量调度。 限流是指限制用户调用的频率(QPS/QPM)或者…...

数字图像信号水平消隐,垂直消隐,前肩,后肩等基本概念
在做数字图像处理时,必然要接触比如水平消隐,垂直消隐,前肩,后肩等基本概念,下面图示了水平前肩,水平后肩,垂直前肩和垂直后肩。 数字视频的基本概念源自于模拟视频,因为先有模拟显…...

达摩院 2020 预测:工业互联网超融合来袭!
受访人 | 丁险峰(花名:柯镇) 采访人 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 2017年,据国务院《关于深化"互联网先进制造业"发展工业互联网的指导意见》指出,工业互联网通过…...

需要看的东西
Java官方文档: Java Platform, Standard Edition Documentation - Releases (oracle.com) Home: Java Platform, Standard Edition (Java SE) 8 Release 8 (oracle.com) Whats New in JDK 8 (oracle.com) JDK 11 Release Notes, Important Changes, and Informa…...

友盟register failed: -11 accs bindapp error!
下载官方Demo后,替换自己的id包名后出现 register failed: -11 accs bindapp error! 经过一番搜索之后,都是说这二种原因 1、检查appkey和secret key是否配置正确,如果正确无误,请看步骤2。2、so文件配置有误,需重新配置: Pus…...

数据请求方式Fetch
一、前言 在前后端分离项目中,前端请求后端接口得到后端数据,完成页面内容的渲染或功能状态的判断,已经成为常规操作。那么,关于前端如何请求后端接口获取并解析数据,主要有哪些方式呢: 1. 刷新页面&…...

中国反渗透膜清洗剂市场发展趋势与投资规划建议报告2022-2028年
中国反渗透膜清洗剂市场发展趋势与投资规划建议报告2022-2028年 详情内容请咨询鸿晟信合研究院! 【全新修订】:2022年3月 【撰写单位】:鸿晟信合研究网 2021年中国反渗透膜清洗剂市场销售收入达到了 万元,预计2028年可以达到 万…...

python处理Excel和TXT文件
一、Python处理excel文件 两个头文件 import xlrd import xlwt 1 2 其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入。 读取excel文件 打开excel文件 workBook xlrd.open_workbook(excelPath) 1 2 获取所有的sheet的名字 allSheetNames …...

邮件翻译(pg位图索引相关问题解答)
原邮件内容 Bitmap Heap Scan阶段做了什么? A plain indexscan fetches one tuple-pointer at a time from the index, and immediately visits that tuple in the table. A bitmap scan fetches all the tuple-pointers from the index in one go, sorts them usi…...

php使用ODBC方式连接accs
$connodbc_connect(db1,,); if (!$conn) { exit("连接失败: " . $conn); } $sql"SELECT * FROM db1_biao1"; $rsodbc_exec($conn,$sql); if (!$rs) { exit("SQL 语句错误"); } echo "<table><tr>"; echo "…...

16.BOOTP:引导程序协议
zz转载于:https://www.cnblogs.com/i-hard-working/p/11184947.html...

求二叉树宽度
题目 一个二叉树采用二叉链表存储,设计一个函数计算这个二叉树的宽度 解题思路 采用层次遍历,将每一个结点的信息存储在数组中,结点的信息包括这个结点的层数,以及结点的左右子树,数据类型(为char型字符),然后对这个数…...

java线程池实现消息队列_java实现的线程池、消息队列功能
ThreadPoolManager类:负责管理线程池,调用轮询的线程来访问字符串缓冲区的内容,维护缓冲区,当线程池溢出时抛出的Runnable任务被加入到字符缓冲区。public class ThreadPoolManager{private static ThreadPoolManager tpm new Th…...

熟悉c语言,熟悉c语言编程环境.ppt
熟悉c语言编程环境.ppt程序设计基础 C语言程序设计,主讲朱海燕 gxzhy2003,课程性质 专业必修课 课程类型 理论课(3/5),含实践(2/5) 学分 3.5学分 学时(周学时) 85学时(5学时/周),程序设计基础,课程描述 程序设计基础是计算机科学与技术、软件工程、电子信息工程等专…...

[附源码]Java计算机毕业设计SSM高校互联网班级管理系统
项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...

阿里无线11.11 | 手机淘宝移动端接入网关基础架构演进之路
移动网络优化是超级App永恒的话题,对于无线电商来说更为重要,网络请求体验跟用户的购买行为息息相关,手机淘宝从过去的HTTP API网关,到2014年升级支持SPDY,2015年双十一自研高性能、全双工、安全的ACCS(阿里…...

Flume知识点总结
点击查看flume安装配置教程 1、概念 Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 Flume可以采集文件,socket数据包、文件、文件夹、kafka等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等…...

网络布线之双绞线
一、双绞线的分类 目前,双绞线可分为非屏蔽双绞线(UTP:Unshilded Twisted Pair)和屏蔽双绞线(STP:Shielded Twisted Pair)。 1、屏蔽双绞线 根据屏蔽方式的不同,屏蔽双绞…...

JavaScript进阶之DOM技术(一)——DOM操作
API和Web API API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细…...

matlab 蒙特卡洛树搜索算法_蒙特卡罗法在Matlab环境
作者:朱川曲张道兵朱海燕【摘要】应用工程结构可靠性理论,建立煤巷锚杆支护结构可靠性模型,针对其结构稳定性的极限状态功能函数高度非线性的特征,采用蒙特卡罗法在Matlab环境下直接产生服从各相应概率分布函数的随机变量数组计算…...

【设计模式】创建型模式·工厂模式
设计模式学习之旅(四) 查看更多可关注后查看主页设计模式DayToDay专栏 一.引子 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】&…...

Java 线程池原理及最佳实践(面试必问)
概述 1.1 线程池是什么 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。 创建线程本身开销大,反复创建并销毁,过多的占用内存。所以有大量线程创建考虑使用线…...

oracle11g的生产环境,Oracle 11g rac 生产环境部署详录
Oracle 11g rac 生产环境部署详录基本规划◎设备选型1、服务器:Dell R620 两台。cpu 8 core,内存64G,600G 15000转sas硬盘,双电源,hba卡一块,连接存储线缆一根(连接hba卡和共享存储)。2、存储:d…...

简述线程池原理, FixedThreadPool 用的阻塞队列是什么?
Java 线程池的实现原理其实就是一个线程集合 workerSet 和一个阻塞队列 workQueue。 当用户向线程池提交一个任务(也就是线程)时, 线程池会先将任务放入 workQueue 中。 workerSet 中的线程会不断的从 workQueue 中获取线程然后执行。 当 workQueue 中没有 任务的时…...

最小生成树刷题汇总
Acwing 346 走廊泼水节 给定一棵 N 个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。 求增加的边的权值总和最小是多少。 注意: 树中的所有边权均为整数,且新加的所有边权…...

手把手教您搭建对话系统
本篇通过文本相似度匹配算法,从0到1搭建一个简单的对话系统chatbot。 具体代码参见git:https://github.com/EdisonChen0816/chatbot chatbot有三部分: 1,意图识别 2,faq标准问 3,闲聊 三者采用同样的技术…...

剑指offer-二叉树学习笔记
剑指offer-二叉树学习笔记 一、二叉树概述 二叉树是树的一种特殊数据结构,在二叉树中每一个节点最多能有两个子节点。在二叉树中最重要的操作莫过于遍历,即按照某一顺序访问树中的所有节点。通常有如下遍历方式: 前序遍历:先访问…...

线程池和消息队列的一些理解
1.两者内部都使用了队列,如阻塞队列、优先级队列; 2.使用线程池时应用服务器既充当生产者又充当消费者,也是消息队列中间件的实现者,使用消息队列时中间件、生产者、消费者可以部署在不同的应用机器上(当然也可以部署在…...

R语言机器学习mlr3:技术细节
获取更多R语言和生信知识,请欢迎关注公众号:医学和生信笔记 医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记&a…...

Java线程池的任务消息队列
多线程队列 Java多线程包括线程池会用到缓存任务的队列,Java提供的线程安全队列分为两种:阻塞队列和非阻塞队列 1.阻塞队列 阻塞队列支持生产者模式和消费者模式互相等待,队列为空,消费线程阻塞,直到队列不为空&…...

面试必考——线程池原理概述
前言 线程池的源码解析较为繁琐。各位同学必须先大体上理解线程池的核心原理后,方可进入线程池的源码分析过程。 corePoolSize核心线程 线程池的基本大小,即在没有任务需要执行的时候线程池的大小,并且只有在工作队列满了的情况下才会创建…...

百度:I am from China, wait, am I?
一直有不少人天真的认为百度是一家中国公司,是“民族企业”,以此来抵制Google在中国的分部,谷歌中国。也有不少人说,百度在开曼群岛注册,其总裁李彦宏持有美国绿卡,根本就是一个外国公司。 怎么判断一家互联…...

百度竟然不是中国的
2019独角兽企业重金招聘Python工程师标准>>> 身份之谜—百度是中国公司吗? 虽然,Baidu在美国上市使用了“中国的Google”这么一个概念,说真的,我知道的Baidu和Google最大的共同点也许就是他们都是美资公司。Baidu公司…...

02【EB】- 独立于具体总线的底层通信堆栈模块概述
文章目录 1 独立于具体总线的底层通信堆栈模块1.1 驱动程序模块(< Net >)1.2 收发器驱动程序模块(< Net >Trcv)1.3 接口模块(< Net >If)1.4 传输协议模块(< Net >Tp)传送门 ==>> AutoSAR入门和实战系列总目录 1 独立于具体总线的底层通…...

html游戏掉血效果图,倒地爬行加快掉血?和平精英游戏的四大谎言 别再上当了...
倒地爬行加快掉血?女角色不易被击中?今天小编就为大家带来了和平精英游戏的四大谎言,大家一定要注意别再上当了!下面快一起看看吧。倒地爬行加快掉血?相信大多数玩家在吃鸡游戏里都听说过倒地的时候爬行会加快掉血的传闻…...

人生辣么多的谎言,没必要一个个试一下
原帖:http://bbs.csdn.net/topics/392336425 工资是职场最大的陷阱 ,实质:工资不是年薪不是月薪,而是时薪朋友江海,原在国企上班,工作轻松,月薪1万左右。由于不甘平庸,去年辞职,跳槽…...
QKL123研报 | 交易平台的谎言——如何动态检验交易所的成交真实性
来源:QKL123一. 市场成交概况作为区块链生态体系中重要的参与者与建设者,加密货币交易所一直与加密货币的发展息息相关。自2009年比特币创世区块的诞生,至2010年世界上第一家比特币交易所Bitcoin Market的诞生,再到如今形成的数千…...

Design Data-Intensive Applications 读书笔记二十五 第八章:信息、真相和谎言
信息、真相和谎言 这章阐述分布式系统中的基本问题:我们能判断哪些事情的真假?我们如何确定信息,测量和感知是否可靠?软件是否会违背现实世界法则,起因和影响是什么?以及分布式系统中关于信息和真相的一些…...

干货 :如何看穿数据可视化的谎言!
以前我们看到一个做得很烂的图表,或者穿帮的数据可视化作品时,往往是将它们嘲笑一番也就算了。但有些时候,尤其是刚过去的这一年,我们好像更难分辨一个可视化作品是单纯的糟糕产物,还是出于偏见而刻意制造的虚假信息。…...

真实的谎言(枚举)
Description N个人做一个游戏,游戏中每个人说了一句话(可能是真的也可能是假的) 第i个人说:“N个人中有至少有ai个,至多有bi个人说的是真话!”(i 1, 2, 3…..n)你能推断出最多能有多少个人说的是真话吗? 1…...

OJ1003C语言,[置顶] 解成电OJ1003真实的谎言的记录
原题目DescriptionN个人做一个游戏,游戏中每个人说了一句话(可能是真的也可能是假的)第i个人说:“N个人中有至少有ai个,至多有bi个人说的是真话!”(i 1, 2, 3…..N)你能推断出最多能有多少个人说的是真话吗?1 < N < 100000…...

把所有的谎言献给你β(找规律数学题)
链接题意: 梓川咲太的面前坐着野兔先辈,作为约定,只好乖乖的打开笔记本开始学习了。 “加法符号写歪了,变成了乘法符号,在算式的第三行那个地方。”樱岛麻衣突然开口。 心领神会的梓川咲太立刻发现自己正在写的题目的错…...

(算法是你的谎言)一、基本与解递归树
秋秋在数据结构后,当然要紧接着开算法专栏了,但在这个系列的最初,我有以下几个问题: 何为算法? 算法分析是理论研究,是关于计算机程序性能和资源利用的研究。 在程序设计方面,什么比性能更重要&…...

(算法是你的谎言)三、查找算法
今天继续学习算法,这节课主要是查找算法,最主要的是哈希算法,其他例如二叉搜索树,二叉平衡树都已经在数据结构专栏接触过了,所以这节课主要讲述哈希算法。 文章目录**1.基础哈希****2.全域哈希**1.基础哈希 ÿ…...

为什么说人工智能是一个大谎言
转自 | 大数据文摘(ID:BigDataDigest)编译 | 李馨瑜、朱帅、籍缓、蒋宝尚人工智能是一个很大的谎言。或者往轻了说,它是一个混淆概念。往重了说,是用来欺骗大众的流行语,并且流行度非常高。其实真正的内涵…...

谎言,
1,谎言的动机,立场, 2,谎言的作用,对事情对他人的影响 3,谎言的性质,范围(对亲人,对朋友,对同事,对陌生人) 我今天没有吃饭࿰…...
Docker的“谎言”
作者简介:张鑫,杭州才云科技联合创始人 CEO 本文节选自《程序员》,谢绝转载,更多精彩,请订阅《程序员》 责编:魏伟,欢迎投稿和咨询报道,详情联系weiweicsdn.net 我与容器的缘分起源于我在Goo…...

如何看穿数据可视化的谎言?
文章发布于公号【数智物语】 (ID:decision_engine),关注公号不错过每一篇干货。 转自 | 新浪新媒体实验室 作者 | Nathan Yau 以前我们看到一个做得很烂的图表,或者穿帮的数据可视化作品时,往往是将它们嘲笑…...

找出所有谎言
蒜头君有很多卡片,每张卡片正面上印着“剪刀”,“石头”或者“布”三种图案中的一种,反面则印着卡片的序号。“剪刀”,“石头”和“布”三种构成了一个有趣的环形,“剪刀”可以战胜“布”,“布”可以战胜“…...

matlab if 小于等于符号,excel if 大于等于符号
excel: 10句经典的英文小情话,Onelifeonelove!,缺失:excelif大于等于符号167643/5以下是的一些我们精选的10句经典的英文小情话,Onelifeonelove!1、I love you with all my heart.我全心全意爱你。2、one l…...
intouch 连接西门子s7-400 plc的点
1.安装DASSIDirect驱动 2.在smc里面配置驱动 这个驱动使能之后,会自动启动一个进程 DASSIDirect 3.在intouch里面添加一个访问名 4.按CTRLT,新建一个io实型的点,访问名就是上面建的s7400,地址写DB1,REAL20(要确保s7400…...

Zookeeper相关操作
Zookeeper概念 •Zookeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务。 •Zookeeper 翻译过来就是 动物园管理员,他是用来管 Hadoop(大象)、Hive(蜜蜂)、Pig(小 猪)的管理员。简称zk •Zookeeper 是一个分布式的…...

指针习题(2):编写字符串连接函数strcat()
Description 编写函数实现字符串连接函数strcat( )的功能。 Input 输入仅一行,输入两个字符串。 Output 输出仅一行,输出连接后的一个字符串。 Sample Input abc defgh Sample Output abcdefgh Source #include <stdio.h> int main() …...

SQL所基于的关系代数
关系代数由一组运算组成,这些运算接受一个或两个关系作为输入,并生成一个新的关系作为它们的结果。 其中一些运算(如选择、投影和更名运算)称为一元( unary )运算,因为它们只在一个关系上进行运…...

SQL 形式化语言——关系代数
关系代数是一种过程化查询语言。它包括一个运算的集合,这些运算以一个或两个关系为输入,产生一个新的关系作为结果。关系代数的基本运算有: 名称英文符号选择selectσ投影projectΠ并union∪集合差set-difference-笛卡儿积Cartesian-product…...

使用Python创建websocket服务端并给出不同客户端的请求
作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 使用Python创建websocket服务端,并给出不同客户端的请求 一、 WebSocket是啥 WebSocket 和HTTP一样,也是一种通…...

武汉理工大学计算机学院大三上 《数据库系统综合实验》
武汉理工大学计算机学院大三上 《数据库系统综合实验》 内含源代码,测试数据以及实验报告 语言:Java 开发环境:eclipse 数据库:Ms SQL Server 网上购物管理系统 链接:https://pan.baidu.com/s/1riAXTMr2SG6CECBizeQYcw 提取码:3w6t...

武汉理工计算机考研复试上机题
一、2014年上机真题(专硕) 循环矩阵(第一列和最后一列是相邻的),求该矩阵中最大子矩阵(就是子矩阵中的元素和最大);输入的数据在文件input.txt中读取,输出的结果存入outp…...

武汉理工大学计算机考研历年复试真题实现
2019年算法真题 No.1 凑硬币 【题目】: 现在有硬币1分,5分,10分,25分。我现在想凑齐63分的硬币,请问如何用最少的硬币凑成63分呢。比如这道题答案应是25,25,10,1,1&am…...

武汉理工大学计算机科学与技术学院复试,2014年武汉理工大学计算机科学与技术学院考研复试大纲...
写在前面:随着2014年34所自主划线院校考研分数线及国家线的公布,2014年考研复试、调剂工作也陆续拉开序幕。为了帮助更多考生顺利通过复试,考研论坛特开启复试调剂答疑活动,解答2014年考生有关考研复试和调剂的问题,为…...

2014武汉理工大学计算机学院研究生复试科目,武汉理工大学2014年计算机专业复试回忆版...
笔试1、谓词命题证明研究生都是统考或是推免生,所有推免生本科课程一点学的好,并非所有研究生本科课程都学得好,那么研究生中存在统考生。2、是一个群,a,b属于G,a。ba*x*b,x属于G;证明也是群;3、简述面向对象的思想和方…...

武汉理工大学计算机复试笔试重要吗,武汉理工大学2014年计算机专业复试试题回忆版...
笔试1、谓词命题证明研究生都是统考或是推免生,所有推免生本科课程一点学的好,并非所有研究生本科课程都学得好,那么研究生中存在统考生。2、是一个群,a,b属于G,a。ba*x*b,x属于G;证明也是群;3、简述面向对象的思想和方…...

武汉理工大学java,武汉理工大学 web技术基础
计算机网络是现代通信技术与计算机技术相结合的产物,Internet则是计算机网络的最具体的应用。Web服务是最主要的网络服务,几乎一提到Internet,就会想到Web技术。本课程将介绍互联网的发展历史,最新的科学进展,Web的工作…...

【C语言进阶】自定义类型之结构体
目录一:结构体1.1:结构的基础知识: 1.2:结构的声明: 1.3:特殊声明(匿名结构体): 1.4:结构的自引用: 1.5:结构体变量的定义和初始化&am…...

武汉理工大学计算机复试题,2014年 武汉理工大学计算机复试题(回忆版)===予人玫瑰,......
笔试1、谓词命题证明研究生都是统考或是推免生,所有推免生本科课程一点学的好,并非所有研究生本科课程都学得好,那么研究生中存在统考生。2、是一个群,a,b属于G,a。ba*x*b,x属于G;证明也是群;3、…...

网站托管-免费网站托管工具自动SEO优化工具
网站托管,什么是网站托管?就是把自己的网站移交第三方托管,但是这样真的管用吗?相信不少企业都经历过把自己的网站托管出去,什么效果也没看到。今天给大家分享一款免费网站托管工具,什么是免费的网站托管工…...

免费收录网站的搜索引擎登录口大全
百度搜索网站登录口:http://www.baidu.com/search/url_submit.html Google网站登录口:http://www.google.com/addurl/?hlzh-CN&continue/addurl Google新闻网站内容http://www.google.com/support/news_pub/bin/request.py?contact_typesuggest_co…...

分享30个分类目录网站,seo优化首选,免费提交收录
很多做seo的朋友开始都知道一提,二发,三交换,这句口诀吧,仔细说来就新站先提交分类目录,然后发优质外链,再交换优质友情链接,这样排名上升速度非常快,但是很多朋友都不会怎么找分类目…...

免费收录外链的分类目录网站推荐
分类目录网站是免费收录网站的网址导航网站,通过提交并免费收录可以快速增加你的网站权重增加搜索引擎抓取速度。新手建站一般都是最先提交给网站目录,然后搜索引擎才能抓取到你的网站,从而收录你的网站,对于权重较高的网站分类目…...

AWS CodeDeploy的疑难问题小记
AWS官方文档:CodeDeploy AppSpec File reference - AWS CodeDeploy (amazon.com) appspec.yml中location指定的脚本文件 当CodeDeploy Agent执行location指向脚本文件的时候,有两点: 1. 脚本文件的全路径是什么? 对于Linux系统…...

一个服务器多个网站收录效果,8个优化小技巧快速提高网站收录
网站做好了,我们肯定是想要有更多的免费流量进入到我们的网站,那么我们就必须要了解如何快速提升网站收录。下面小编就来给大家分享一下SEO优化中快速提高网站收录的8个优化小技巧,希望对大家有所帮助。1、网站权重评级网站的权重是对于收录影…...

C中输入三个数字输出平均值(aver)
#include <stdio.h> int main() {float x;float y;float z;float aver;scanf("%f,%f,%f",&x,&y,&z);aver(xyz)/3;printf("平均值:%0.02f\n",aver); //小数部分控制两位(0.02)return 0; }...

编写一个程序,实现以下功能:(1)计算n个学生的平均成绩aver;(C语言)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 题目: 编写一个程序,实现以下功能: (1)计算n个学生的平均成绩aver; (2)输出高于平均成绩…...

2021-12-06 自动化专业C语言上机作业参考答案16
上机练习16 p115.c /* 编写一程序P115.C实现以下功能制作一简单的计算器,注意事项:(1)需要计算的内容从命令行输入,格式为:P115 数1 op 数2,当命令行格式不正确(参数个数不为4)时,应报错。(2)op的取值范围…...

c语言中aver是什么意思_c语言中*与各代表什么意思
展开全部&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一e68a84e8a2ad3231313335323631343130323136353331333365653265种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位…...

datatable中列求和的方法_DataSet(DataTable)轻松的通过Sum、Aver、Count等统计出相关结果...
我们在使用Sql ******这些数据库时,可以轻松的通过Sum、Aver、Count等统计出相关结果,那么,在已经把数据检索出来的DataSet(DataTable)中呢?特别是通过Web Service获得了DataSet,这个时候,可是没有办法回头…...

2.4算术表达式中的自动类型转换 2.5强制类型转化运算符
在一个算术表达式中,如果是相同类型的操作数,进行运算,那么,它的运算类型的结果究竟是什么呢? C语言规定,相同类型的数据进行运算的结果类型与操作数的类型是相同的 例如整数除法,就是这样的一个…...

c语言中 float aver,几道C语言的题? 不会做!麻烦帮做一下 感激涕零!1)写一个函数,求两个float型变量中居于较大值的变量的地址写一...
共回答了16个问题采纳率:81.3%第一题(1):(后面的题库函数引用就省略了)#includevoid main(){ float a,b; int c,d;printf("Please enter a b c and d:");scanf("%f %f %d %d",&a,&b,&c,&d);if(a>b) printf("…...
Lidar_imu自动标定源码阅读(四)——optimize部分
源码阅读,能力有限,如有某处理解错误,请指出,谢谢。 optimize.hpp:主要是利用ceres完成非线性优化,但是在这个cpp中只有代价函数的构造和残差的定义,以及使用自动求导,没有针对一个…...

aver函数C语言怎么用,C语言的printf问题或是函数调用问题
#include#define N 10#define M 5float score[N][M];float astu[N],acour[M];int r,c;int main() //主函数{int i,j;float h; //声明函数printf(" *************欢迎使用学生成绩管理系统******************\n"…...

aver在c语言中的作用,大部分C语言题都在里面
《大部分C语言题都在里面》由会员分享,可在线阅读,更多相关《大部分C语言题都在里面(20页珍藏版)》请在人人文库网上搜索。1、程序设计】功能:根据整型形参 m,计算如下公式的值:ysin(m)*10 。【参考代码】double y0;ysin(m)*10;re…...

c语言中aver是什么意思_c语言
}}68.统计在tt字符串中a到z26个字母各自出现的次数,并依次放在pp所指数组中。void fun(char *tt, int pp[]){char *p_tttt;int i0;while(i<26){pp[i]0;i;}for(;*p_tt!\0;p_tt){switch(*p_tt){case a:pp[0];break;case b:pp[1];break;case c:pp[2];break;case …...

c语言中aver是什么意思_嵌入式C语言基础编程—5年程序员给你讲函数,你真的懂函数吗?...
本文主要讲述的内容:1函数概述2函数定义的一般形式3函数的参数和函数的值3.1形式参数和实际参数3.2函数的返回值4函数的调用4.1函数调用的一般形式4.2函数调用的方式4.3被调用函数的声明和函数原型4.4函数的嵌套调用4.5函数的递归调用5数组作为函数参数6局部变量和全…...
中山大学软件学院中级实训-GridWorld
为期两周的实训总算是快结束了,虽然还有一天,但是这两天去实验室基本上不是为了赶任务而是为了能按时签到签退。这次实训总体来说还是挺简单的( 凭良心说,而不是自己很厉害 ),至少比起大一的Agenda简直是轻松许多。原因一方面可能…...

aver函数C语言怎么用,C语言函数篇讲解
1、第六章函数,教学目标:掌握函数的定义;理解并运用函数的调用;理解函数的声明。教学重点:函数的定义;函数的调用。教学难点:函数的定义。教学时数:4学时,6.1概述,printstar()printf(“*n”);main()printstar();printmessage();pr…...

c语言中aver是什么意思_什么是C语言函数
什么是C语言函数for(i0;i<5;i){scanf("%d",&a[i]);nzp(a[i]);}}void nzp(int v){ ……}main(){int a[5],i;printf("input 5 numbers\n");for(i0;i<5;i){ scanf("%d",&a[i]);nzp(a[i]);}}本程序中首先定义一个无返回值函数nzp&…...
ios版本检查更新
一行代码搞定 不影响上线 demo地址:点击打开链接 相关代码: VersionUpdateTool.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h>interface VersionUpdateTool : NSObject (VersionUpdateTool *)sharedInstance; -(void)Ve…...

成信大2021自动化专业-平时自主学习-C语言改错题解题参考-整理第04页
文章目录第04页题面如下:题解如下:D1011.cD1012.cD1013.cD1014.cD1015.cD1016.cD1017.cD1018.cD1019.cD1020.c第04页 题面如下: 题解如下: D1011.c 原文件 #include<stdio.h>int main(void) {int i 0, j 0, n;printf(…...

C语言有参函数调用:aver函数
#include<stdio.h> int main() { float aver(float x[],int n); float a[5],b[10]; int i; for(i0;i<4;i) scanf("%f",&a[i]); for(i0;i<9;i) scanf("%f",&b[i]); printf("%f\n%f\n&qu...

c语言中aver是什么意思_关于这段程序中,aver存入的数字为0,为何
关于这段程序中,aver存进的数字为0,为何?#include#include#define len sizeof(struct student)int main(){typedef struct student{char name[20];char number[5];//学号float score[4];float aver;struct student* next;}stus;stus* stu NU…...

[JavaEE]阻塞队列
专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录: 1.阻塞队列的概念 2.标准库中的阻塞队列 3.生产者…...

不要让ChatGPT成为你的智商税
难处 我相信有部分人苦于政策,但是又没有途径,没法享受到chatGpt带来的便利。 我也相信有不少无良的人,在百度浏览器的各个官网搞什么接入openaiAPI的网站,欺骗广大人民交那么几十块。 这种行为本身不合理,也不合法…...

div固定到浏览器底部
在设计网站的时候,如果你某个页面的内容没有满屏,那你的footer会离浏览器底部很远,整体看起来很难看,这里用css提供一种方法来将footer固定在浏览器底部。 1.footer部分位于底部 1.footer部分位于底部,但不悬浮&…...

STC12+TM1638用3个IO口实现24个独立按键显示
STC12+TM1638用3个IO口实现24个独立按键显示 ✨在采用测试STC单片机测试过程中发现,该程序只有在STC12上跑能运行,分别尝试烧录到STC15、STC8上面会出现大部分按键会失灵,只有个别按键按了有效。部分代码从Arduino平台移植过来的,纯粹的按键扫描功能在STC12上测试没有问题,…...

Linux(网络基础---网络层)
文章目录0. 前言1. IP协议1-1 基本概念1-2 协议头格式2. 网段划分2-1 基本概念2.2 IP地址分五大类2-3 特殊的IP地址2-4 IP地址的数量限制2-5 私有IP地址和公网IP地址2-6 路由0. 前言 前面我们讲了,应用层、传输层;本章讲网络层。 应用层:我…...

Java stream性能比较
环境 Ubuntu 22.04IntelliJ IDEA 2022.1.3JDK 17CPU:8核 ➜ ~ cat /proc/cpuinfo | egrep -ie physical id|cpu cores physical id : 0 cpu cores : 1 physical id : 2 cpu cores : 1 physical id : 4 cpu cores : 1 physical id : 6 cpu cores : 1 physical id …...

JS判断是否为base64字符串如何转换为图片src格式
需求背景 : 如何判断后端给返回的 字符串 是否为 base-64 位 呢 ? 以及如果判断为是的话,如何给它进行转换为 img 标签可使用的那种 src 格式 呢 ? 1、判断字符串是否为 base64 以下方法,可自行挨个试试,…...

Java单例模式写法
目录单例模式饿汉模式实现单例懒汉模式实现单例单线程版多线程版多线程版优化小结单例模式 单例模式能保证某个类在程序中只存在唯一一份实例, 而不会创建出多个实例. 为什么要保证只存在一份对象呢? 因为有些对象管理的内存数据可能会很多, 可能有些项目里就一个对象运行起来…...

【Java】对象的构造和初始化
对象的构造和初始化如何初始化对象构造方法概念特性默认初始化就地初始化如何初始化对象 在Java方法内部定义一个局部变量时,必须要初始化,否则会编译失败。 要让上述代码通过编译,非常简单,只需在正式使用a之前,给a设…...
Python解题 - CSDN周赛第38期
又来拯救公主了。。。本期四道题还是都考过,而且后面两道问哥在以前写的题解里给出了详细的代码(当然是python版),直接复制粘贴就可以过了——尽管这样显得有失公允,考虑到以后还会出现重复的考题,所以现在…...

AcWing 3382. 整数拆分
乍一眼看到还以为做个解空间树和dfs就做出来了...#include <bits/stdc.h> using namespace std; const int MOD1e9;int n,ans; void dfs(int x){if(x<0)return;if(x0)ans;for(int i1;i<x;ii<<1)dfs(x-i); }int main(){cin>>n;dfs(n);cout<<ans;r…...

AirPlay Deamon学习(Linux Daemon)
关于deamon在Linux中是守护进程,而我在做苹果物联网apple tv投屏airplay调用的是apple 底层deamon代码,特做次文档学习,该文章分为对Linux Daemon的学习和AirPlay Deamon学习 一,守护进程概述 Linux Daemon(守护进程&…...

Linux: config: CONFIG_AS_AVX2;as-instr
文章目录 配置as-instr日志配置 这个不是配置的,它是根据binutils是否支持相应的指令来做的。所以还不能只是依赖于config文件来判断有没有配置相关的宏定义。 arch/x86/Makefile# #does binutils support specific instructions?avx2_instr :=$(call as-instr,vpbroadcas…...

LeetCode2094. 找出 3 位偶数(python)
题目 给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9)。数组中可能存在重复元素。 你需要找出 所有 满足下述条件且 互不相同 的整数: 该整数由 digits 中的三个元素按 任意 顺序 依次连接 组成。 该整数不含 前导零 该整…...

【错误包】「go语言」项目中设计适合自己的错误包——通过AST自动生成代码和MD文档
文章目录一、如何设计errors错误包1. go的error和其他语言的trycatch的区别2. 常用的errors、fmt和pkgerrors错误处理包3. 使用errors打印调用栈4. 使用wrapf保存和打印error错误栈5. 如何设计错误码更加科学二、自定义错误包1. 自定义错误码2. errors实现withcode模式和实现co…...

【CSAPP】进程 | 上下文切换 | 用户视角下的并发进程
💭 写在前面:本文将学习《深入理解计算机系统》的第六章 - 关于异常控制流和系统级 I/O 的 进程部分。CSAPP 是计算机科学经典教材《Computer Systems: A Programmers Perspective》的缩写,该教材由Randal E. Bryant和David R. OHallaron 合著…...

数组模拟单链表
实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数; 删除第 k个插入的数后面的数; 在第 k个插入的数后插入一个数。 现在要对该链表进行 M次操作,进行完所有操作后,从头到尾输出整…...

03 - 初识Linux进程
---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录1. 进程理论状态切换1.1 问题1.2 进程生命周期1.3 Linux进程基本概念1.4 Linux进程生命周期1.5 Linux进程状态剖析1.6 Linux进程必知必会1.…...

2023年产品经理需要考的证书——NPDP,含金量高,666
产品经理国际资格认证NPDP是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年…...

OSPF+MGRE实验
实验要求: 1、左边三台设备配置OSPF 10,区域0; 2、右边为OSPF 1 中间是Area0,下挂Area1和Area2 3.两个进程之间有ISP设备,需要访问公网 4.OSPF 1区域零中,中心设备不启动动态路由协议,配置MGRE …...

模块化技术
前端模块化1.什么是前端模块化将复杂的程序根据规则或者规范拆分成若干模块,一个模块包括输入和输出模块化的内部数据和实现是私有的,对外暴露一些接口与其他模块进行通信2.前端模块化的背景前端模块化是一种标准,不是实现理解模块化是理解前…...

【Java版oj】day13参数解析、跳石板
目录 一、参数解析 (1)原题再现 (2)问题分析 (3)完整代码 二、跳石板 (1)原题再现 (2)问题分析 (3)完整代码 一、参数解析 &…...

腾讯云云服务器S5性能评测
腾讯云服务器标准型S5实例CPU采用Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器,主频2.5GHz,睿频3.1GHz,标准型S5云服务器基于全新优化虚拟化平台,配有全新的Intel Advanced Vector Extension (AVX-512) 指令集&#…...

【Vue3 基础加餐篇】07.key 的作用源码解析
Vue 中增加 key ,是为了更精准的定位到元素,从而减少渲染。那具体这个更精准的定位是什么?以及为什么能减少渲染呢?我们在这一章节讲述。 虚拟 DOM 要聊这个之前,必须要有虚拟 DOM 的概念,这个不得不聊。 虚拟对象就是一种用来描述真实 DOM 的 js 对象。这样我们就可以…...

附录3:Anolis 龙蜥 下载
以语雀 文档为准 视频演示 点击查看【bilibili】 官网:https://openanolis.cn/ | 7.7 正式版 | https://mirrors.openanolis.cn/anolis/7.7/isos/GA/x86_64/ | | — | — | | 7.9 正式版 | https://mirrors.openanolis.cn/anolis/7.9/isos/GA/x86_64/ | | 7.9 优…...

u盘被苹果电脑磁盘抹掉了怎么恢复 ?三种实用方法请收好
u盘如此重要,然而和其他存储设备一样,会因删除、格式化、损坏等原因而丢失数据?u盘被苹果电脑磁盘抹掉了怎么恢复 ?在这里,易我小编会讲解苹果电脑的数据恢复的相关操作方法。 一、u盘的简单介绍 U盘是一种小型存储设…...

Android绘制——自定义view之onLayout
简介 在自定义view的时候,其实很简单,只需要知道3步骤: 测量——onMeasure():决定View的大小,关于此请阅读《Android自定义控件之onMeasure》布局——onLayout():决定View在ViewGroup中的位置绘制——onD…...

我的 System Verilog 学习记录(11)
引言 本文简单介绍 SystemVerilog 的其他程序结构。 前文链接: 我的 System Verilog 学习记录(1) 我的 System Verilog 学习记录(2) 我的 System Verilog 学习记录(3) 我的 System Verilo…...

【测试开发篇4】测试模型
目录 一、软件测试V模型 编码前 概要设计: 详细设计: 编码后: 单元测试&集成测试 系统测试 验收测试 V模型的特点 优点: 缺点: 二、软件测试W模型 编码之前: 编码的时候: 编…...

DETR网络模型构建
这篇文章主要为记录DETR模型的构建过程 首先明确DETR模型的搭建顺序:首先是backbone的搭建,使用的是resnet50,随后是Transformer模型的构建,包含编码器的构建与解码器的构建,完成后则是整个DETR模型的构建 构建代码在detr.py文件中…...

Golang实现十类排序算法对比展示
排序算法分类实现 冒泡排序 时间复杂度:O(n^2)空间复杂度:O(1)稳定性:稳定特点:简单易懂,但效率较低,适用于数据量较小的情况。 排序过程: 从第一个元素开始,依次比较相邻的两个…...

day11-函数作业
编写一个函数,交换指定字典的key和value。 例如:dict1{a:1, b:2, c:3} --> dict1{1:a, 2:b, 3:c} def exchange_num(dict1):new_dict {}for key in dict1:new_key dict1[key]new_value keynew_dict[new_key] new_valuereturn new_dict dict1{a:1, b:2, …...

Leetcode.1292 元素和小于等于阈值的正方形的最大边长
题目链接 Leetcode.1292 元素和小于等于阈值的正方形的最大边长 Rating : 1735 题目描述 给你一个大小为 m x n的矩阵 mat和一个整数阈值 threshold。 请你返回元素总和 小于或等于 阈值的正方形区域的最大边长;如果没有这样的正方形区域,则…...

css元素定位:通过元素的标签或者元素的id、class属性定位,还不明白的伙计,看这个就ojbk了!
前言 大部分人在使用selenium定位元素时,用的是xpath元素定位方式,因为xpath元素定位方式基本能解决定位的需求。xpath元素定位方式更直观,更好理解一些。 css元素定位方式往往被忽略掉了,其实css元素定位方式也有它的价值&…...

敬伟PS教程【A01-A10】
文章目录新建文档页面详细内容如何再次修改文件参数修改图像大小像素与分辨率的关系:打开文档存储文档常用文件格式关闭开工前准备图层基本知识图层面板创建图层图层操作画面查看视图旋转基本移动操作新建文档 ①可以点击顶部菜单:编辑-首选项-常规 勾选…...

2023年市场快速恢复,社交资讯营销如何把握新机遇
易观:2023年3月14日,巨量引擎联合易观发布《中国社交资讯市场营销白皮书2023-全域经营 聚量新生》,对中国社交资讯市场发展、未来机会、广告营销诉求以及媒体解决方案进行了深入分析。2023年社交资讯蕴含大量新机遇,可关注下沉交友…...

算法详解-递归
文章目录前言主要内容初级阶乘斐波那契数列汉诺塔数组求和幂运算数组翻转字符串翻转中级全排列子集高级正则表达式匹配N皇后问题总结无限循环栈溢出更多宝藏前言 😎🥳😎🤠😮🤖🙈💭&…...

前端安全-内容安全策略CSP(Content Security Policy)
目录 CSP xss 使用方法 http头部设置 meta标签设置 策略集组成 常见指令 default-src report-uri 示例 指令(属性) 指令值(属性值) CSP学习链接 CSP 内容安全策略,为了页面内容安全而制定的一系列防护策…...

Shell Scripting part1
1.Introduction PS1"$ " ; export PS1[maxwelloracle-db-19c shell_20230320]$ PS1"$ " ; export PS1 $ echo #!/bin/sh > my-script.sh $ echo echo Hello World >> my-script.sh $ chmod 755 my-script.sh $ ./my-script.sh Hello World $ cat...

权威认证 | 腾讯云入选最新IaaS云原生安全报告
近日,国际权威研究机构Forrester发布最新研究报告《The IaaS Platform Native Security (IPNS) Landscape, Q1 2023》(以下简称“IPNS报告”),从IPNS供应商规模、产品类型及重点案例等多个维度进行评估。腾讯云凭借在IaaS云原生安…...

Codeforces Round 859 (Div. 4) A~G
目录 A. Plus or Minus B. Grab the Candies C. Find and Replace D. Odd Queries E. Interview F. Bouncy Ball G. Subsequence Addition A. Plus or Minus 思路:按题目要求输出即可。 void solve() {int a,b,c;cin>>a>>b>>c;if(a-bc)cout<…...

Java实现十类排序算法对比展示
Java实现排序算法 本代码展示了Java中常见的十种排序算法,并对每种算法的时间复杂度、空间复杂度、优缺点进行了说明。 代码中包含了冒泡排序、快速排序、插入排序、选择排序、希尔排序、归并排序、堆排序、计数排序、桶排序、基数排序。 import java.util.ArrayLi…...

BFC块级格式化上下文
一、概念 BFC - Block Formatting Context 块级格式化上下文 BFC的定义,在官方文档到中,是这么介绍BFC的:A block formatting context contains everything inside of the element creating it that is not also inside a descendant elemen…...

用于小规模低成本场景的kafka + eCAL架构设计
Kafka作为存储、性能兼备的消息队列,适用场景很多,伸缩性也很强。如何调节kafka的配置参数,以及设计专题、分区的数量、物理位置,很大程度上影响到整个架构的成败。很多文章是站在数据中心的角度来谈kafka的配置,而对于…...

SpringCloud微服务技术栈.黑马跟学(五)
SpringCloud微服务技术栈.黑马跟学 五今日目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用1.1.2.ELK技术栈1.1.3.elasticsearch和lucene1.1.4.为什么不是其他搜索技术?1.1.5.总结1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引1.2.3.正向和倒排1.3.es的一些…...

3.19学习总结
看了一下windows的内核与原理的目录,开始的学习 windows都有哪几大子系统 需要记住: 包括网络子系统,设备管理子系统,内存管理子系统,BIOS加载,调试子系统,GUI子系统,远程通信子系…...

Vue 3.0 全局API
Vue 2.x 有许多全局 API 和配置,这些 API 和配置可以全局改变 Vue 的行为。例如,要创建全局组件,可以使用 Vue.component 这样的 API: Vue.component(button-counter, {data: () > ({count: 0}),template: <button click&qu…...

李沐:《动手学深度学习》的初衷
Datawhale学习 分享人:李沐,动手学深度学习作者本文是李沐在Datawhale学习会上的分享:跟李沐导师,动手学深度学习(点击可跳转)相信大家都听说过 ChatGPT,以及最近发布的 GPT-4。在五年前&#x…...

一文带你看懂大火的“虚拟数字人”
如果现在提到虚拟数字人你还一头雾水的话,那真得好好上网冲浪一下了! 作为和元宇宙一同火起来的概念,虚拟数字人在影视、游戏、动漫等领域早就开始应用,并且颇具规模。虚拟数字人到底能有多火呢?网红虚拟美妆博主柳叶…...

C语言预处理条件语句的 与或运算
C语言预处理条件语句的 与或运算 1.#ifdef 与或运算 #ifdef (MIN) && (MAX) ----------------------------错误使用 #if defined(MIN) && defined(MAX) ---------------- 正确使用 #ifdef (MIN) || (MAX) -----------------------------错误使用 …...

学习Java——注解
目录 元注解 自定义注解 Java中常用的注解 Spring常用注解 Spring中的这几个注解有什么区别:Component 、Repository、Service、Controller 如何自定义一个注解? 注解与反射的结合 每日寄语 元注解 说简单点,就是 定义其他注解的注…...

doris初学笔记
一、doris是什么 Apache Doris是一个现代化的MPP(大规模并行分析)分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上…...

linux-inotify工具监控文件状态变化总结
linux-inotify工具监控文件状态变化总结 大纲 1 安装2 使用 Inotify 它是在内核 2.6.13 版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个文件&am…...

版本控制系统(VCS)-Git使用-Introduction
版本控制系统(VCS)-Git使用-Introduction git的使用模式 git的使用模式可以分为本地个人工作模式和团队协作工作模式 本地个人工作模式 本地个人工作模式就是只在本地使用git,用来管理自己的项目或者文件,这个模式中所使用到的命令都是一些基本…...

Git 的 Cherry-Pick
1、什么是 Cherry-Pickcherry-pick 是 Git 版本控制工具中的一个命令,和 commit 、pull 一样,它只是一个命令。cherry-pick 和它的名称一样,精心挑选,挑选一个我们需要的 commit 进行操作。它可以用于将在其他分支上的 commit 修改…...

浅谈 kafka
入门 1、什么是 kafka? apache Kafka is a distributed streaming platform. What exactly dose that mean? Apache Kafka 是消息引擎系统,也是一个分布式流处理平台(Distrib...

湖南中创教育PMP 高手项目经理做好风险管理的10条秘籍
在这个VUCA时代越来越多企业开始重视风险管理。其实项目风险管理的好处是巨大的,如果您以积极的方式处理不确定的项目事件,则可能赚很多钱或提前拿到现金流。结果是您可以最大程度地减少项目威胁的影响并抓住发生的机会。 法则01 将风险管理纳入项目&a…...

logic
管综逻辑 一、简单命题1、直言命题(1) 矛盾关系:必有一真一假(2) 从属关系:上真推下真,下假推上假(3) 上反对关系:至少一假(4) 下反对关系:至少一真2、真假话题型第一步:翻译第二步:找矛盾或反对…...

【Python学习实操】怎么做利用python做岗位的分析报告
文章目录前言本篇以拉勾网为例来说明一下如何获取 Ajax 请求内容一、本文目标二、分析结果1.引入库2.页面结构3.请求参数4.构造请求,解析数据4.获取所有数据总结前言 前两篇我们分别爬取了糗事百科和妹子图网站,学习了 Requests, Beautiful Soup 的基本…...

营销信息管理如何帮助您的业务?
在我们互联的世界中,访问有关您的客户、潜在客户和目标受众的个人数据比以往任何时候都更容易。所有营销人员都应该对触手可及的数据负责。这不再是消费者数据是否推动转化的问题,这是如何最好地利用这些信息的问题。 什么是营销信息管理? 营…...

vue中的axios和proxy代理
引入axiosnpm install axios配置proxy代理,解决跨域问题proxyTable: {"/api": {target: "http://192.168.X.XXX:XXXX", //需要跨域的目标pathRewrite: { "^/api": "" }, //将带有api的路径重写为‘’ws: true, //用与支持w…...