mysql维表的代理键字段_mysql多维数据仓库指南--第三篇第12章(2)

宾夕法尼亚州地区客户维

在本节我将用宾夕法尼亚州地区客户的子集维度来解释第二种维度子集的类型。我也将向你说明如何测试该子集维度。

相对的,一个向上钻取的维包含了它基础维的所有更高级别的数据。而一个特定子集维度则选择了它基础维的某个特定的数据集合。列表12-3所示的脚本产生并加载了宾夕法尼亚州(PA)地区客户子集维。

注意到,有两个事情是宾夕法尼亚州地区客户子集维区别于月份子集维的地方。

npa_customer_dim表和customer_dim表的字段结构一样,而month_dim表没有 date_dim表中的日期字段。

npa_customer_dim表的代理键是客户表的代理键。Month_dim表的代理键只属于month_dim表,并不是来自日期维表。

列表12-3 PA的客户:

/**********************************************************************/

/**/

/* pa_customer.sql*/

/**/

/**********************************************************************/

USE dw;

CREATE TABLE pa_customer_dim

( customer_sk INT NOT NULL AUTO_INCREMENT PRIMARY KEY

, customer_number INT

, customer_name CHAR (50)

, customer_street_address CHAR (50)

, customer_zip_code INT (5)

, customer_city CHAR (30)

, customer_state CHAR (2)

, shipping_address CHAR (50)

, shipping_zip_code INT (5)

, shipping_city CHAR (30)

, shipping_state CHAR (2)

, effective_date DATE

, expiry_date DATE )

;

INSERT INTO pa_customer_dim

SELECT

customer_sk

, customer_number

, customer_name

, customer_street_address

, customer_zip_code

, customer_city

, customer_state

, shipping_address

, shipping_zip_code

, shipping_city

, shipping_state

, effective_date

, expiry_date

FROM customer_dim

WHERE customer_state = 'PA'

;

/* end of script*/

为了测试PA子维脚本,你需要先用列表12-4的脚本来增加三个居住于俄亥俄州的客户。

列表12-4:非PA客户:

/**********************************************************************/

/**/

/* non_pa_customer.sql*/

/**/

/**********************************************************************/

/* default to dw*/

USE dw;

INSERT INTO customer_dim

( customer_sk

, customer_number

, customer_name

, customer_street_address

, customer_zip_code

, customer_city

, customer_state

, shipping_address

, shipping_zip_code

, shipping_city

, shipping_state

, effective_date

, expiry_date )

VALUES

(NULL, 10, 'Bigger Customers', '7777 Ridge Rd.', '44102',

'Cleveland', 'OH', '7777 Ridge Rd.', '44102', 'Cleveland',

'OH', CURRENT_DATE, '9999-12-31')

, (NULL, 11, 'Smaller Stores', '8888 Jennings Fwy.', '44102',

'Cleveland', 'OH', '8888 Jennings Fwy.', '44102',

'Cleveland', 'OH', CURRENT_DATE, '9999-12-31')

, (NULL, 12, 'Small-Medium Retailers', '9999 Memphis Ave.', '44102',

'Cleveland', 'OH', '9999 Memphis Ave.', '44102', 'Cleveland',

'OH', CURRENT_DATE, '9999-12-31')

;

/* end of script*/

用以下命令运行列表12-4中的脚本。

mysql> \. c:\mysql\scripts\non_pa_customer.sql

在你的控制台上将得到下面的响应信息:

Database changed

Query OK, 3 rows affected (0.86 sec)

Records: 3Duplicates: 0Warnings: 0

现在你已经准备好运行列表12-3中的pa_customer.sql脚本,在你做这些之前,确定你的Msql数据库的日期仍然是2007-03-02。

你可以用如下命令方式运行pa_customer.sql脚本。

mysql> \. c:\mysql\scripts\pa_customer.sql

你将在控制台上看到:

Database changed

Query OK, 0 rows affected (0.20 sec)

Query OK, 18 rows affected (0.08 sec)

Records: 18 Duplicates: 0 Warnings: 0

为了确保三个OH客户已经成功的载入,查询customer_dim表:

mysql> select customer_name, customer_state, effective_date from customer_dim;

控制台上将看到:

+---------------------------------+----------------+---------------+

| customer_name| customer_state | effective_date|

+---------------------------------+----------------+---------------+

| Really Large Customers| PA| 2005-03-01|

| Small Stores| PA| 2005-03-01|

| Medium Retailers| PA| 2005-03-01|

| Good Companies| PA| 2005-03-01|

| Wonderful Shops| PA| 2005-03-01|

| Extremely Loyal Clients| PA| 2005-03-01|

| Distinguished Agencies| PA| 2005-03-01|

| Extremely Loyal Clients| PA| 2007-03-01|

| Subsidiaries| PA| 2007-03-01|

| Really Large Customers| PA| 2007-03-02|

| Small Stores| PA| 2007-03-02|

| Medium Retailers| PA| 2007-03-02|

| Good Companies| PA| 2007-03-02|

| Wonderful Shops| PA| 2007-03-02|

| Extremely Loyal Clients| PA| 2007-03-02|

| Distinguished Agencies| PA| 2007-03-02|

| Subsidiaries| PA| 2007-03-02|

| Online Distributors| PA| 2007-03-02|

| Bigger Customers| OH| 2007-03-02|

| Smaller Stores| OH| 2007-03-02|

| Small-Medium Retailers| OH| 2007-03-02|

+---------------------------------+----------------+---------------+

21 rows in set (0.00 sec)

现在查询pa_customer_dim表来确定只有PA的客户在PA客户维表中。

mysql> select customer_name, customer_state, effective_date from pa_customer_dim;

结果如下:

+---------------------------------+----------------+---------------+

| customer_name| customer_state | effective_date|

+---------------------------------+----------------+---------------+

| Really Large Customers| PA| 2004-01-01|

| Small Stores| PA| 2004-01-01|

| Medium Retailers| PA| 2004-01-01|

| Good Companies| PA| 2004-01-01|

| Wonderful Shops| PA| 2004-01-01|

| Extremely Loyal Clients| PA| 2004-01-01|

| Distinguished Agencies| PA| 2004-01-01|

| Extremely Loyal Clients| PA| 2005-11-01|

| Subsidiaries| PA| 2005-11-01|

| Really Large Customers| PA| 2005-11-03|

| Small Stores| PA| 2005-11-03|

| Medium Retailers| PA| 2005-11-03|

| Good Companies| PA| 2005-11-03|

| Wonderful Shops| PA| 2005-11-03|

| Extremely Loyal Clients| PA| 2005-11-03|

| Distinguished Agencies| PA | 2005-11-03|

| Subsidiaries| PA| 2005-11-03|

| Online Distributors| PA| 2005-11-03|

+---------------------------------+----------------+---------------+

18 rows in set (0.00 sec)

正如你所看到的,只有PA客户进入到该表中,之前加入的OH客户并没有在其中。

修改定期装载

当一个新的PA客户资料加入到客户维中时,为了能够同时加入PA客户维表,你需要把PA客户子集维的装载合并到数据仓库的定期装载过程中。修改后的定期装载脚本将在列表12-5中列出。这个改变(新增)用粗体显示。注意到,当每次你运行每日的定期装载脚本时,该脚本重建(截断,然后加入所有的PA客户)了PA客户子集维。

列表12-5:修正后的每日DW定期装载

/******************************************************************/

/**/

/* dw_regular_12.sql*/

/**/

/******************************************************************/

USE dw;

/* CUSTOMER_DIM POPULATION*/

TRUNCATE customer_stg;

LOAD DATA INFILE 'customer.csv'

INTO TABLE customer_stg

FIELDS TERMINATED BY ' , '

OPTIONALLY ENCLOSED BY '"'

LINES TERMINATED BY '\r\n'

IGNORE 1 LINES

( customer_number

, customer_name

, customer_street_address

, customer_zip_code

, customer_city

, customer_state

, shipping_address

, shipping_zip_code

, shipping_city

, shipping_state )

;

/* SCD 2 ON ADDRESSES*/

UPDATE

customer_dim a

, customer_stg b

SET

a.expiry_date = SUBDATE (CURRENT_DATE, 1)

WHERE

a.customer_number = b.customer_number

AND (a.customer_street_address <> b.customer_street_address

OR a.customer_city <> b.customer_city

OR a.customer_zip_code <> b.customer_zip_code

OR a.customer_state <> b.customer_state

OR a.shipping_address <> b.shipping_address

OR a.shipping_city <> b.shipping_city

OR a.shipping_zip_code <> b.shipping_zip_code

OR a.shipping_state <> b.shipping_state

OR a.shipping_address IS NULL

OR a.shipping_city IS NULL

OR a.shipping_zip_code IS NULL

OR a.shipping_state IS NULL)

AND expiry_date = '9999-12-31'

;

INSERT INTO customer_dim

SELECT

NULL

, b.customer_number

, b.customer_name

, b.customer_street_address

, b.customer_zip_code

, b.customer_city

, b.customer_state

, b.shipping_address

, b.shipping_zip_code

, b.shipping_city

, b.shipping_state

, CURRENT_DATE

, '9999-12-31'

FROM

customer_dim a

, customer_stg b

WHERE

a.customer_number = b.customer_number

AND (a.customer_street_address <> b.customer_street_address

OR a.customer_city <> b.customer_city

OR a.customer_zip_code <> b.customer_zip_code

OR a.customer_state <> b.customer_state

OR a.shipping_address <> b.shipping_address

OR a.shipping_city <> b.shipping_city

OR a.shipping_zip_code <> b.shipping_zip_code

OR a.shipping_state <> b.shipping_state

OR a.shipping_address IS NULL

OR a.shipping_city IS NULL

OR a.shipping_zip_code IS NULL

OR a.shipping_state IS NULL)

AND EXISTS (

SELECT *

FROM customer_dim x

WHERE b.customer_number = x.customer_number

AND a.expiry_date - SUBDATE (CURRENT_DATE, 1))

AND NOT EXISTS (

SELECT *

FROM customer_dim y

WHEREb.customer_number = y.customer_number

AND y.expiry_date - '9999-12-31')

;

/* END OF SCD 2*/

/* SCD 1 ON NAME*/

UPDATE customer_dim a, customer_stg b

SET a.customer_name = b.customer_name

WHEREa.customer_number = b.customer_number

AND a.expiry_date - '9999-12-31'

AND a.customer_name <> b.customer_name

;

/* ADD NEW CUSTOMER*/

INSERT INTO customer_dim

SELECT

NULL

, customer_number

, customer_name

, customer_street_address

, customer_zip_code

, customer_city

, customer_state

, shipping_address

, shipping_zip_code

, shipping_city

, shipping_state

, CURRENT_DATE

, '9999-12-31'

FROM customer_stg

WHERE customer_number NOT IN(

SELECT a.customer_number

FROM

customer_dim a

, customer_stg b

WHERE b.customer_number = a.customer_number )

/* RE-BUILD PA CUSTOMER DIMENSION*/

TRUNCATE pa_customer_dim;

INSERT INTO pa_customer_dim

SELECT

customer_sk

, customer_number

, customer_name

, customer_street_address

, customer_zip_code

, customer_city

, customer_state

, shipping_address

, shipping_zip_code

, shipping_city

, shipping_state

, effective_date

, expiry_date

FROM customer_dim

WHERE customer_state = 'PA'

;

/* END OF CUSTOMER_DIM POPULATION*/

/* product dimension loading*/

TRUNCATE product_stg

;

LOAD DATA INFILE 'product.txt'

INTO TABLE product_stg

FIELDS TERMINATED BY ''

OPTIONALLY ENCLOSED BY ''

LINES TERMINATED BY '\r\n'

IGNORE 1 LINES

( product_code

, product_name

, product_category )

;

/* PRODUCT_DIM POPULATION*/

/* SCD2 ON PRODUCT NAME AND GROUP*/

UPDATE

product_dim a

, product_stg b

SET

expiry_date = SUBDATE (CURRENT_DATE, 1)

WHERE

a.product_code = b.product_code

AND (a.product_name <> b.product_name

OR a.product_category <> b.product_category )

AND expiry_date = '9999-12-31'

;

INSERT INTO product_dim

SELECT

NULL

, b.product_code

, b.product_name

, b.product_category

, CURRENT_DATE

, '9999-12-31'

FROM

product_dim a

, product_stg b

WHERE

a.product_code = b.product_code

AND (a.product_name <> b.product_name

OR a.product_category <> b.product_category )

AND EXISTS (

SELECT *

FROM product_dim x

WHERE b.product_code = x.product_code

AND a.expiry_date = SUBDATE (CURRENT_DATE, 1) )

AND NOT EXISTS (

SELECT *

FROM product_dim y

WHERE b.product_code = y.product_code

AND y.expiry_date = '9999-12-31')

;

/* END OF SCD 2*/

/* ADD NEW PRODUCT*/

INSERT INTO product_dim

SELECT

NULL

, product_code

, product_name

, product_category

, CURRENT_DATE

, '9999-12-31'

FROM product_stg

WHERE product_code NOT IN(

SELECT y.product_code

FROM product_dim x, product_stg y

WHERE x.product_code = y.product_code

;

/* END OF PRODUCT_DIM POPULATION*/

/* ORDER_DIM POPULATION*/

INSERT INTO order_dim (

order_sk

, order_number

, effective_date

, expiry_date

)

SELECT

NULL

, order_number

, order_date

, '9999-12-31'

FROM source.sales_order

WHERE entry_date = CURRENT_DATE

;

/* END OF ORDER_DIM POPULATION*/

/* SALES_ORDER_FACT POPULATION*/

INSERT INTO sales_order_fact

SELECT

order_sk

, customer_sk

, product_sk

, date_sk

, order_amount

, order_quantity

FROM

source.sales_order a

, order_dim b

, customer_dim c

, product_dim d

, date_dim e

WHERE

a.order_number = b.order_number

AND a.customer_number = c.customer_number

AND a.order_date >= c.effective_date

AND a.order_date <= c.expiry_date

AND a.product_code = d.product_code

AND a.order_date >= d.effective_date

AND a.order_date <= d.expiry_date

AND a.order_date = e.date

AND a.entry_date = CURRENT_DATE

;

/* end of script*/

测试修正后的定期装载

现在你可以测试列表12-5的脚本。在你实施之前,先增加一些客户数据,通过运行列表12-6的脚本增加一个PA客户和一个OH客户到客户维中。

列表12-6:增加两个客户

/******************************************************************/

/**/

/* two_more_customers.sql*/

/**/

/******************************************************************/

/* default to dw*/

USE dw;

INSERT INTO customer_dim

( customer_sk

, customer_number

, customer_name

, customer_street_address

, customer_zip_code

, customer_city

, customer_state

, shipping_address

, shipping_zip_code

, shipping_city

, shipping_state

, effective_date

, expiry_date )

VALUES

(NULL, 13, 'PA Customer', '1111 Louise Dr.', '17050',

'Mechanicsburg', 'PA', '1111 Louise Dr.', '17050',

'Mechanicsburg', 'PA', CURRENT_DATE, '9999-12-31')

, (NULL, 14, 'OH Customer', '6666 Ridge Rd.', '44102',

'Cleveland', 'OH', '6666 Ridge Rd.', '44102',

'Cleveland', 'OH', CURRENT_DATE, '9999-12-31')

;

/* end of script*/

现在运行列表12-6中的脚本:

mysql> \. c:\mysql\scripts\two_more_customers.sql

Mysql将显示有两个记录生效。

Database changed

Query OK, 2 rows affected (0.06 sec)

Records: 2Duplicates: 0Warnings: 0

现在更改你的Msql数据库的日期为2007-03-03以保证老的数据不会重新载入,然后运行dw_regular_12.sql脚本。

mysql> \. c:\mysql\scripts\dw_regular_12.sql

你将看到你的控制台有如下显示:

Database changed

Query OK, 9 rows affected (0.15 sec)

Query OK, 9 rows affected (0.14 sec)

Records: 9Deleted: 0Skipped: 0Warnings: 0

Query OK, 0 rows affected (0.05 sec)

Rows matched: 0Changed: 0Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Records: 0Duplicates: 0Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Rows matched: 0Changed: 0Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Records: 0Duplicates: 0Warnings: 0

Query OK, 18 rows affected (0.04 sec)

Query OK, 19 rows affected (0.06 sec)

Records: 19Duplicates: 0Warnings: 0

Query OK, 4 rows affected (0.09 sec)

Query OK, 4 rows affected (0.07 sec)

Records: 4Deleted: 0Skipped: 0Warnings: 0

Query OK, 0 rows affected (0.06 sec)

Rows matched: 0Changed: 0Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Records: 0Duplicates: 0Warnings: 0

Query OK, 0 rows affected (0.00 sec)

Records: 0Duplicates: 0Warnings: 0

Query OK, 0 rows affected (0.15 sec)

Records: 0 Duplicates: 0Warnings: 0

Query OK, 0 rows affected (0.17 sec)

Records: 0Duplicates: 0Warnings: 0

现在用该语句查询pa_customer_dim表。你将看到新的PA客户被插入到表中。

mysql> select customer_name, customer_state, effective_date from pa_customer_dim;

这是结果:

+-------------------------+----------------+---------------+

| customer_name| customer_state | effective_date|

+-------------------------+----------------+---------------+

| Really Large Customers| PA| 2005-03-01|

| Small Stores| PA| 2005-03-01|

| Medium Retailers| PA| 2005-03-01|

| Good Companies| PA| 2005-03-01|

| Wonderful Shops| PA| 2005-03-01|

| Extremely Loyal Clients | PA| 2005-03-01|

| Distinguished Agencies| PA| 2005-03-01|

| Extremely Loyal Clients | PA| 2007-03-01|

| Subsidiaries| PA| 2007-03-01|

| Really Large Customers| PA| 2007-03-02|

| Small Stores| PA| 2007-03-02|

| Medium Retailers| PA| 2007-03-02|

| Good Companies| PA| 2007-03-02|

| Wonderful Shops| PA| 2007-03-02|

| Extremely Loyal Clients | PA| 2007-03-02|

| Distinguished Agencies| PA| 2007-03-02|

| Subsidiaries| PA| 2007-03-02|

| Online Distributors| PA| 2007-03-02|

| PA Customer| PA| 2007-03-03|

+-------------------------+----------------+---------------+

19 rows in set (0.00 sec)

小结

在这章,你学习了两种类型的子集维。月份子集维是向上钻取维的一个例子,一个装载自比它更为详细的基础维的具有更高级的维。PA客户维是一个特定的子集维;只从它的基础维选择PA客户数据进行装载。

下一章,你将学习另外一个复用现有维的技术,叫角色扮演维度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

huggingface NLP工具包教程1:Transformers模型

huggingface NLP工具包教程1&#xff1a;Transformers模型 原文&#xff1a;TRANSFORMER MODELS 本课程会通过 Hugging Face 生态系统中的一些工具包&#xff0c;包括 Transformers&#xff0c; Datasets&#xff0c; Tokenizers&#xff0c; Accelerate 和 Hugging Face Hub。…

mysql日期比较timestamp_Mysql中的Datetime和Timestamp比较(转载)

mysql中用于表示时间的三种类型date, datetime, timestamp (如果算上int的话&#xff0c;四种) 比较容易混淆&#xff0c;下面就比较一下这三种类型的异同相同点都可以用于表示时间都呈字符串显示不同点1.顾名思义&#xff0c;date只表示YYYY-MM-DD形式的日期&#xff0c;datet…

隐马尔可夫模型HMM推导

隐马尔可夫模型HMM推导 机器学习-白板推导系列(十四)-隐马尔可夫模型HMM&#xff08;Hidden Markov Model&#xff09; 课程笔记 背景介绍 介绍一下频率派和贝叶斯派两大流派发展出的建模方式。 频率派 频率派逐渐发展成了统计机器学习&#xff0c;该流派通常将任务建模为一…

ef mysql 的坑_C# EF 与 MySql 的那些坑

之前一直想用 mysql 和 ef 。然后多次尝试也只能感叹 还是 sqlsever 是亲儿子。今天在单位又尝试了一次&#xff0c;然后就成功了&#xff0c;记录一下遇到的问题。首先是安装包和驱动&#xff1f;。请保证 MySql.Data / MySql.Data.Entity.EF6 / mysql Connector/NET 版本对应…

使用randomaccessfile类将一个文本文件中的内容逆序输出_Java 中比较常用的知识点:I/O 总结...

Java中I/O操作主要是指使用Java进行输入&#xff0c;输出操作. Java所有的I/O机制都是基于数据流进行输入输出&#xff0c;这些数据流表示了字符或者字节数据的流动序列。数据流是一串连续不断的数据的集合&#xff0c;就象水管里的水流&#xff0c;在水管的一端一点一点地供水…

huggingface NLP工具包教程2:使用Transformers

huggingface NLP工具包教程2&#xff1a;使用Transformers 引言 Transformer 模型通常非常大&#xff0c;由于有数百万到数百亿个参数&#xff0c;训练和部署这些模型是一项复杂的任务。此外&#xff0c;由于几乎每天都有新模型发布&#xff0c;而且每个模型都有自己的实现&a…

huggingface NLP工具包教程3:微调预训练模型

huggingface NLP工具包教程3&#xff1a;微调预训练模型 引言 在上一章我们已经介绍了如何使用 tokenizer 以及如何使用预训练的模型来进行预测。本章将介绍如何在自己的数据集上微调一个预训练的模型。在本章&#xff0c;你将学到&#xff1a; 如何从 Hub 准备大型数据集如…

mysql精讲_Mysql 索引精讲

开门见山&#xff0c;直接上图&#xff0c;下面的思维导图即是现在要讲的内容&#xff0c;可以先有个印象&#xff5e;常见索引类型(实现层面)索引种类(应用层面)聚簇索引与非聚簇索引覆盖索引最佳索引使用策略1.常见索引类型(实现层面)首先不谈Mysql怎么实现索引的,先马后炮一…

pytorch lightning最简上手

pytorch lightning最简上手 pytorch lightning 是对原生 pytorch 的通用模型开发过程进行封装的一个工具库。本文不会介绍它的高级功能&#xff0c;而是通过几个最简单的例子来帮助读者快速理解、上手基本的使用方式。在掌握基础 API 和使用方式之后&#xff0c;读者可自行到 …

RT-Smart 官方 ARM 32 平台 musl gcc 工具链下载

前言 RT-Smart 的开发离不开 musl gcc 工具链&#xff0c;用于编译 RT-Smart 内核与用户态应用程序 RT-Smart musl gcc 工具链代码当前未开源&#xff0c;但可以下载到 RT-Thread 官方编译好的最新的 musl gcc 工具链 ARM 32位 平台 比如 RT-Smart 最好用的 ARM32 位 qemu 平…

java list翻转_JAVA实现两种方法反转单列表

/***authorluochengcheng* 定义一个单链表*/classNode {//变量private intrecord;//指向下一个对象privateNode nextNode;public Node(intrecord) {super();this.record record;}public intgetRecord() {returnrecord;}public void setRecord(intrecord) {this.record record;}…

OpenAI Whisper论文笔记

OpenAI Whisper论文笔记 OpenAI 收集了 68 万小时的有标签的语音数据&#xff0c;通过多任务、多语言的方式训练了一个 seq2seq &#xff08;语音到文本&#xff09;的 Transformer 模型&#xff0c;自动语音识别&#xff08;ASR&#xff09;能力达到商用水准。本文为李沐老师…

mysql 工具 08s01_Mysql管理必备工具Maatkit详解之十四(mk-kill)

mk-kill - 顾名思义&#xff0c;杀mysql线程。安装方法查看这里。在一个OLTP的生产环境&#xff0c;一般不会让sql执行过长的时间&#xff0c;特别是myisam这样表锁的引擎&#xff0c;如果出现长时间执行的sql一般是误操作&#xff0c;要不就是出现问题了。出现这种情况&#x…

【经典简读】知识蒸馏(Knowledge Distillation) 经典之作

【经典简读】知识蒸馏(Knowledge Distillation) 经典之作 转自&#xff1a;【经典简读】知识蒸馏(Knowledge Distillation) 经典之作 作者&#xff1a;潘小小 知识蒸馏是一种模型压缩方法&#xff0c;是一种基于“教师-学生网络思想”的训练方法&#xff0c;由于其简单&#xf…

深度学习三大谜团:集成、知识蒸馏和自蒸馏

深度学习三大谜团&#xff1a;集成、知识蒸馏和自蒸馏 转自&#xff1a;https://mp.weixin.qq.com/s/DdgjJ-j6jHHleGtq8DlNSA 原文&#xff08;英&#xff09;&#xff1a;https://www.microsoft.com/en-us/research/blog/three-mysteries-in-deep-learning-ensemble-knowledge…

在墙上找垂直线_墙上如何快速找水平线

在装修房子的时候&#xff0c;墙面的面积一般都很大&#xff0c;所以在施工的时候要找准水平线很重要&#xff0c;那么一般施工人员是如何在墙上快速找水平线的呢&#xff1f;今天小编就来告诉大家几种找水平线的方法。一、如何快速找水平线1、用一根透明的软管&#xff0c;长度…

百度地图mysql打点_关于百度地图连接MYSQL的问题,谢谢啦!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼大家好&#xff0c;刚使用百度地图API&#xff0c;请教大家一个问题&#xff0c;谢啦&#xff01;我需要从我的数据库中取出字段为"city"的所有数据&#xff0c;然后通过bdGEO()函数在地图上标注这些城市&#xff0c;我是…

PyTorch中的torch.nn.Parameter() 详解

PyTorch中的torch.nn.Parameter() 详解 今天来聊一下PyTorch中的torch.nn.Parameter()这个函数&#xff0c;笔者第一次见的时候也是大概能理解函数的用途&#xff0c;但是具体实现原理细节也是云里雾里&#xff0c;在参考了几篇博文&#xff0c;做过几个实验之后算是清晰了&am…

Vision Transformer(ViT)PyTorch代码全解析(附图解)

Vision Transformer&#xff08;ViT&#xff09;PyTorch代码全解析 最近CV领域的Vision Transformer将在NLP领域的Transormer结果借鉴过来&#xff0c;屠杀了各大CV榜单。本文将根据最原始的Vision Transformer论文&#xff0c;及其PyTorch实现&#xff0c;将整个ViT的代码做一…

hdfs的副本数为啥增加了_HDFS详解之块大小和副本数

1.HDFSHDFS : 伪分布式(学习)NNDNSNNsbin/start-dfs.sh(开启hdfs使用的脚本)bin/hdfs dfs -ls (输入命令加前缀bin/hdfs dfs)2.block(块)dfs.blocksize &#xff1a; 134217728(字节) / 128M 官网默认一个块的大小128M*举例理解块1个文件 130M&#xff0c;默认一个块的大小128M…