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.pswp.cn/news/532376.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532376.shtml
英文地址,請注明出處:http://en.pswp.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…