การดำเนินการอย่างเป็นทางการของ
ที่เก็บนี้อาจใช้ในการฝึกอบรมทั้งรุ่น U-TIME และรุ่น U-Sleep รุ่นใหม่ อย่างไรก็ตามที่เก็บได้ขยายออกไปอย่างมีนัยสำคัญตั้งแต่ [1] และอาจค่อยๆแตกต่างจากรุ่นที่อธิบายไว้ใน [2] อาจพบเวอร์ชันก่อนหน้านี้ได้ที่:
เอกสารนี้อธิบายแพคเกจซอฟต์แวร์อย่างเป็นทางการที่พัฒนาขึ้นและใช้เพื่อสร้างระบบการจัดเตรียมการนอนหลับฟรีและสาธารณะ U-Sleep [2] U-SLEEP เป็นเครือข่ายประสาทลึกที่มีความสามารถอย่างเต็มที่สำหรับการจัดเตรียมการนอนหลับอัตโนมัติ อินสแตนซ์เดียวของแบบจำลองอาจได้รับการฝึกฝนให้ดำเนินการจัดเตรียมการนอนหลับที่แม่นยำและยืดหยุ่นในการจัดเตรียมประชากรทางคลินิกและโปรโตคอลการได้มาซึ่ง polysomnography (PSG) ที่หลากหลาย
ซอฟต์แวร์นี้ช่วยให้การฝึกอบรม U-Sleep พร้อมกันในชุดข้อมูล PSG จำนวนใด ๆ โดยใช้การเลือกการกำหนดค่าช่องสัญญาณอินพุตแบบสุ่ม มันมีอินเทอร์เฟซบรรทัดคำสั่งสำหรับการเริ่มต้นการฝึกอบรมและการประเมินโมเดลโดยไม่จำเป็นต้องแก้ไข codebase พื้นฐาน
ในต่อไปนี้เราจะแนะนำซอฟต์แวร์ที่อยู่เบื้องหลัง U-Sleep ในรายละเอียดที่มากขึ้น โปรดทราบว่า:
ที่เก็บนี้เก็บรหัสสำหรับการฝึกอบรมและประเมินรูปแบบการแสดงละคร U-Sleep Sleeep มันสร้างขึ้นและขยายพื้นที่เก็บข้อมูล U-time ของเราอย่างมีนัยสำคัญตีพิมพ์ที่ Neurips 2019 [1] ในต่อไปนี้เราจะใช้คำว่า U-Sleep เพื่อแสดงถึงรูปแบบการแสดงละครการนอนหลับความถี่สูงที่ยืดหยุ่นได้ [2] และ U-TIME เพื่อแสดงถึงที่เก็บรหัสนี้ที่ใช้ในการฝึกอบรมและประเมินโมเดล U-Sleep
คุณยังสามารถใช้ที่เก็บนี้เพื่อฝึกอบรมรุ่น U-time ที่เก่ากว่าดูตัวอย่าง U-TIME ด้านล่าง
ข้อกำหนดด้านฮาร์ดแวร์ขั้นต่ำ
การใช้โมเดล U-Sleep ที่ผ่านการฝึกอบรมมาแล้วสำหรับการจัดเตรียมการนอนหลับอาจทำได้บนแล็ปท็อปที่ทันสมัย (ภายใต้ข้อกำหนดของซอฟต์แวร์ที่ระบุไว้ด้านล่าง)
อย่างไรก็ตามสำหรับการฝึกอบรมรุ่น U-Sleep ตั้งแต่เริ่มต้นเราขอแนะนำให้ใช้คอมพิวเตอร์ที่ใช้ Linux อย่างน้อยก็ตามข้อกำหนดฮาร์ดแวร์ดังต่อไปนี้:
เป็นไปได้ที่จะฝึกอบรมแบบจำลองบนเครื่องจักรขนาดเล็กและไม่มี GPU แต่การทำเช่นนั้นอาจใช้เวลานาน ในทำนองเดียวกันทรัพยากรเพิ่มเติมจะเพิ่มความเร็วในการฝึกอบรม หากชุดข้อมูลที่พิจารณาเกินกว่าหน่วยความจำระบบ (เช่น 8 GIB ของ RAM ที่แนะนำข้างต้น) ข้อมูลจะต้องถูกประมวลผลล่วงหน้าและสตรีมจากดิสก์ตามที่แสดงในส่วนสาธิตด้านล่าง ในเครื่องจักรขนาดใหญ่หนึ่งอาจได้รับประโยชน์จากการรักษากลุ่มข้อมูลขนาดใหญ่ที่โหลดไว้ในหน่วยความจำ ตัวอย่างเช่นเราได้รับการฝึกฝน U-Sleep [2] โดยใช้ 8 CPU cores, 1 GPU และ 40 Gib of RAM โปรดดูการทำซ้ำส่วน U-Sleep ทั้งหมดด้านล่าง
*พื้นที่ดิสก์ฮาร์ดที่ต้องการขึ้นอยู่กับจำนวนและขนาดของชุดข้อมูลที่พิจารณา สำหรับการทำซ้ำอย่างเต็มรูปแบบของ U-Sleep ประมาณ 4 TIB ของที่เก็บข้อมูลที่มีอยู่เป็นสิ่งจำเป็น
ข้อกำหนดซอฟต์แวร์:
หากคุณกำลังจะฝึกฝนแบบจำลอง U-Sleep ด้วยตัวคุณเองเราขอแนะนำให้ทำเช่นนั้นใน GPU ในการใช้แพ็คเกจ U-Time กับ GPU จำเป็นต้องใช้ไลบรารี tensorflow ( v2.8.0 ) สำหรับสิ่งนี้จำเป็นต้องใช้ซอฟต์แวร์เพิ่มเติมต่อไปนี้ในระบบของคุณ:
โปรดดูที่ https://www.tensorflow.org/install/gpu สำหรับรายละเอียดเพิ่มเติม คุณไม่จำเป็นต้องติดตั้ง TensorFlow ด้วยตัวเอง (ดูคู่มือการติดตั้งด้านล่าง) แต่ต้องติดตั้งซอฟต์แวร์ข้างต้นก่อนดำเนินการต่อ
บนเครื่อง Linux ที่มี GPU เปิดใช้งานอย่างน้อย 1 CUDA และ anaconda หรือ miniconda ติดตั้งให้เรียกใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดซอฟต์แวร์สร้างสภาพแวดล้อม conda ที่ชื่อว่า u-sleep และตั้งค่าแพคเกจซอฟต์แวร์ U-Time ล่าสุดและการอ้างอิง:
git clone https://github.com/perslev/U-Time.git
conda env create --file U-Time/environment.yaml
conda activate u-sleep
pip install U-Time/
หรือคุณสามารถติดตั้งแพ็คเกจจาก PYPI (อาจอัปเดตน้อยกว่าบ่อยครั้ง):
pip install utime
ในการติดตามนี้เราจะสาธิตวิธีการเปิดตัวเซสชันการฝึกซ้อมสั้น ๆ ของ U-Sleep ในชุดย่อยที่ จำกัด อย่างมีนัยสำคัญของชุดข้อมูลที่ใช้ใน [2]
30 minutes ในการดำเนินการบนคอมพิวเตอร์ทั่วไปและการเชื่อมต่อเครือข่าย ส่วนใหญ่ของเวลานี้ใช้จ่ายการดาวน์โหลดข้อมูลที่ต้องการจากฐานข้อมูลสาธารณะ ขั้นตอนนี้อาจใช้เวลานานขึ้นอย่างมีนัยสำคัญขึ้นอยู่กับปริมาณการใช้ฐานข้อมูลปัจจุบัน11 GiB บนคอมพิวเตอร์ของคุณ ก่อนอื่นเราสร้างไดเรกทอรีโครงการที่จะเก็บข้อมูลทั้งหมดของเราสำหรับการสาธิตนี้ คำสั่ง ut init จะสร้างโฟลเดอร์และเติมด้วยชุดของค่าไฮเปอร์พารามิเตอร์เริ่มต้น:
ut init --name demo --model usleep_demo
การป้อนไดเรกทอรีโครงการที่สร้างขึ้นใหม่เราจะพบโฟลเดอร์ที่จัดเก็บไฮเปอร์พารามิเตอร์:
cd demo
ls
> hyperparameters
เราจะดาวน์โหลดการศึกษา 6 PSG จากฐานข้อมูลการนอนหลับสาธารณะ Sleep-EDF และ DCSM โดยใช้คำสั่ง ut fetch คุณจะต้องใช้พื้นที่ฮาร์ดดิสก์ฟรีประมาณ 10 GiB เพื่อจัดเก็บไฟล์ที่ดาวน์โหลดมา ขึ้นอยู่กับความเร็วอินเทอร์เน็ตของคุณและการโหลดปัจจุบันของเซิร์ฟเวอร์สองเครื่องแต่ละเซิร์ฟเวอร์การดาวน์โหลดอาจใช้เวลาได้ทุกที่ตั้งแต่ 5 นาทีถึงหลายชั่วโมง:
ut fetch --dataset sedf_sc --out_dir data/sedf_sc --N_first 6
ut fetch --dataset dcsm --out_dir data/dcsm --N_first 6
ข้อมูลดิบที่เราจะพิจารณาในการสาธิตนี้ได้รับการดาวน์โหลดแล้ว โฟลเดอร์โครงการ demo ของเราตอนนี้มีโครงสร้างดังต่อไปนี้:
└─ demo
├─ hyperparameters
└─ data
├─ dcsm
│ ├─ tp005f7e68_a084_46bb_9f0a_b6a084155a1c
│ │ ├─ hypnogram.ids
│ │ └─ psg.h5
│ ├─ ...
└─ sedf_sc
├─ SC4001E0
│ ├─ SC4001E0-PSG.edf
│ └─ SC4001EC-Hypnogram.edf
├─ ...
ก่อนที่จะดำเนินการฝึกอบรมโมเดล U-Sleep เราจะแยกแต่ละชุดข้อมูลออกเป็นตัวแยกรถไฟ/การตรวจสอบ/ทดสอบโดยใช้คำสั่ง ut cv_split คำสั่งจะต้องเรียกใช้สองครั้งแต่ละชุดด้วยชุดพารามิเตอร์ที่ไม่ซ้ำกันที่ระบุการประชุมการตั้งชื่อของชุดข้อมูล:
# Split dataset SEDF-SC
ut cv_split --data_dir data/sedf_sc/
--subject_dir_pattern 'SC*'
--CV 1
--validation_fraction 0.10
--test_fraction 0.25
--subject_matching_regex 'SC4(d{2}).*'
--seed 123
# Split dataset DCSM
ut cv_split --data_dir data/dcsm/
--subject_dir_pattern 'tp*'
--CV 1
--validation_fraction 0.10
--test_fraction 0.25
--seed 123
โปรดทราบว่าการแยกของ SEDF-SC นั้นดำเนินการบนพื้นฐานต่อเรื่อง บันทึก PSG ทั้งหมดจากเรื่องเดียวกันจะถูกวางลงในชุดข้อมูลเดียวกัน สิ่งนี้ไม่จำเป็นสำหรับ DCSM เนื่องจากการบันทึกทั้งหมดเป็นเรื่องที่ไม่ซ้ำกัน
โปรดทราบว่าหากคุณแก้ไขคำสั่งใด ๆ ข้างต้นเพื่อใช้ชื่อไดเรกทอรีเอาต์พุตที่แตกต่างกันคุณจะต้องแก้ไขพา ธ ในชุดข้อมูล HyperParameter ที่เก็บไว้ภายใต้ hyperparameters/dataset_configurations ตามความเหมาะสมก่อนดำเนินการตามขั้นตอนต่อไป
เรียกใช้คำสั่งต่อไปนี้เพื่อเตรียมข้อมูลสำหรับการฝึกอบรม:
ut preprocess --out_path data/processed_data.h5 --dataset_splits train_data val_data
สคริปต์ ut preprocess โหลดและประมวลผลชุดข้อมูลทั้งหมดตามที่อธิบายโดยพารามิเตอร์ที่ตั้งไว้ใน hyperparameters/hparams.yaml และไฟล์เฉพาะชุดข้อมูลทั้งหมดในโฟลเดอร์ hyperparameters/dataset_configurations โดยเฉพาะอย่างยิ่งมันโหลดช่องทางที่ต้องการ (ไม่สนใจส่วนที่เหลือ) ตัวอย่างซ้ำเครื่องชั่งและคลิปข้อมูลแผนที่ขั้นตอน hypnogram เพื่อการเป็นตัวแทน interger ที่ใช้ภายในระหว่างการฝึกอบรมและในที่สุดก็บันทึกข้อมูลที่ประมวลผลไปยังไฟล์เก็บถาวร HDF5 เมื่อการฝึกอบรมข้อมูลอาจถูกสตรีมโดยตรงจากที่เก็บถาวรนี้เพื่อลดหน่วยความจำระบบที่ต้องการอย่างมีนัยสำคัญ
นอกจากนี้ยังเป็นไปได้ที่จะข้ามขั้นตอนนี้ทั้งหมดเข้าด้วยกันและ 1) โหลดข้อมูลทั้งหมดที่จำเป็นสำหรับการฝึกอบรมล่วงหน้าหรือ 2) สตรีมและใช้การประมวลผลล่วงหน้าก่อนการฝึกอบรมตามที่แสดงในการทำซ้ำส่วน U-Sleep ด้านล่าง
ตอนนี้เราอาจเริ่มการฝึกอบรมโดยการเรียกใช้คำสั่ง ut train ชุดค่าเริ่มต้นของ hyperparameters การเพิ่มประสิทธิภาพได้รับการระบุไว้ล่วงหน้าและอยู่ในไฟล์ hyperparameters/hparams.yaml ของไดเรกทอรีโครงการของคุณ ในการสาธิตนี้เราจะดำเนินการฝึกซ้อมสั้น ๆ เท่านั้น แต่อย่าลังเลที่จะแก้ไขพารามิเตอร์ใด ๆ ในไฟล์ hparams.yaml ตามที่คุณเห็น FIT เรียกใช้คำสั่งต่อไปนี้:
ut train --num_gpus=1 --preprocessed --seed 123
คุณสามารถแทนที่พารามิเตอร์ --num_gpus=1 ในคำสั่งด้านบนด้วย --num_gpus=0 หากคุณไม่มี GPU พร้อมใช้งานและต้องการฝึกอบรม CPU การฝึกอบรมเกี่ยวกับ CPU อาจใช้เวลาสูงสุด 30 นาที
หลังจากการฝึกอบรมชุดของโมเดลผู้สมัครจะมีอยู่ใน model โฟลเดอร์ การใช้สิ่งที่ดีที่สุดที่สังเกตได้ (คะแนนการตรวจสอบความถูกต้องสูงสุด F1) เราอาจทำนายชุดทดสอบของทั้ง SEDF-SC และ DCSM โดยใช้ชุดค่าผสมทั้งหมดรวมถึงการคำนวณคะแนนเสียงส่วนใหญ่โดยการเรียกใช้คำสั่ง ut predict ต่อไปนี้:
ut predict --num_gpus=1
--data_split test_data
--strip_func strip_to_match
--one_shot
--save_true
--majority
--out_dir predictions
Hypnograms ที่คาดการณ์ไว้ตอนนี้มีอยู่ภายใต้ predictions/test_data ในที่สุดให้เราพิมพ์เมทริกซ์ความสับสนทั่วโลก (คำนวณในทุกวิชา) สำหรับชุดข้อมูล sedf_sc (แทนที่ sedf_sc -> dcsm สำหรับการประเมิน DCSM):
ut cm --true 'predictions/test_data/sedf_sc/*TRUE.npy'
--pred 'predictions/test_data/sedf_sc/majority/*PRED.npy'
--ignore 5
--round 2
--wake_trim_min 30
>>> Looking for files...
>>> Loading 2 pairs...
>>> OBS: Wake trimming of 30 minutes (period length 30 sec)
>>> OBS: Ignoring class(es): [5]
>>>
>>> Raw Confusion Matrix:
>>>
>>> Pred 0 Pred 1 Pred 2 Pred 3 Pred 4
>>> True 0 0 0 17 234 0
>>> True 1 0 0 132 146 0
>>> True 2 0 0 790 157 0
>>> True 3 0 0 25 189 0
>>> True 4 0 0 243 99 0
>>>
>>> Raw Metrics:
>>>
>>> F1 Precision Recall/Sens.
>>> Class 0 0.00 0.00 0.00
>>> Class 1 0.00 0.00 0.00
>>> Class 2 0.73 0.65 0.83
>>> Class 3 0.36 0.23 0.88
>>> Class 4 0.00 0.00 0.00
>>> mean 0.22 0.18 0.34
หากคุณได้รับผลลัพธ์ คล้าย กับข้างต้นขอแสดงความยินดี! คุณได้ติดตั้งเสร็จสิ้นกำหนดค่าฝึกอบรมและประเมินผลแบบจำลอง U-Sleep บนชุดข้อมูลที่แตกต่างกันสองชุด
โปรดทราบว่า:
หากคุณเรียกใช้รหัสด้านบนบน GPU คุณอาจไม่ได้รับหมายเลขเดียวกันที่แสดงไว้ที่นี่แม้ว่าคุณจะระบุอาร์กิวเมนต์ -SEED นี่เป็นเพราะการคำนวณบางอย่างที่ใช้ในระหว่างการฝึกอบรม U-SLEEP นั้นไม่ได้กำหนดพื้นฐานเมื่อประเมินบน GPU อย่างไรก็ตามการทำนายการใช้แบบจำลอง U-Sleep ที่ผ่านการฝึกอบรมจะให้ผลลัพธ์ที่กำหนด
ประสิทธิภาพของแบบจำลองการสาธิตที่ได้รับต่ำมากและไม่เหมาะสำหรับการแสดงละครการนอนหลับจริง เหตุผลก็คือเราได้รับการฝึกฝน U-Sleep ในชุดข้อมูลที่ จำกัด มากและสำหรับยุคที่ จำกัด มาก โปรดดูการทำซ้ำส่วน U-Sleep ทั้งหมดสำหรับรายละเอียดเกี่ยวกับวิธีการเตรียมและฝึกอบรม U-Sleep เวอร์ชันที่สมบูรณ์
การสาธิตด้านบนในหลักการอธิบายขั้นตอนทั้งหมดที่จำเป็นในการทำซ้ำ U-Sleep ตามที่รายงานใน [2] หลัก - และสำคัญ - ความแตกต่างคือในการทำซ้ำโมเดลเต็มรูปแบบคุณจะต้อง 1) สามารถเข้าถึง 2) ดาวน์โหลดและ 3) ประมวลผลล่วงหน้าชุดข้อมูลที่จำเป็นทั้งหมด คุณอาจต้องใช้คอมพิวเตอร์ที่มีทรัพยากรมากขึ้นตามที่อธิบายไว้ในข้อกำหนดของระบบ
เราพยายามอย่างเต็มที่เพื่อให้กระบวนการนี้ง่ายที่สุดเท่าที่จะทำได้ คุณควรทำตามขั้นตอนต่อไปนี้:
ut fetch โปรดเรียกใช้ ut fetch --help เพื่อดูรายการที่ทันสมัยซึ่งอาจดาวน์โหลดชุดข้อมูลได้ด้วยวิธีนี้[LOCAL_PATH] ด้วย 1 โฟลเดอร์ย่อยสำหรับแต่ละชุดข้อมูลut extract , ut extract_hypno และ ut cv_split ในชุดข้อมูลทั้งหมดตามที่ระบุไว้สำหรับแต่ละชุดข้อมูลแยกกันในไฟล์ภายใต้ resources/usleep_dataset_pred ของที่เก็บนี้ (ยังพบที่นี่) คำสั่งเหล่านี้จะแยกและวางข้อมูลลงในโครงสร้างโฟลเดอร์และรูปแบบที่ U-Time ยอมรับรวมถึงการแบ่งข้อมูลออกเป็นชุดย่อยut extract จะเลือกช่องที่เกี่ยวข้องตัวอย่างอีกครั้งเป็น 128 Hz และจัดเก็บข้อมูลในคลังเก็บ HDF5 ข้อมูลต้นฉบับจะไม่ถูกลบตามค่าเริ่มต้น หากคุณมีพื้นที่ฮาร์ดไดรฟ์ จำกัด ให้พิจารณาลบไฟล์เก่าก่อนประมวลผลชุดข้อมูลถัดไปut init --name u-sleep --model usleepu-sleep/hyperparameters/dataset_configurations/ แทนที่สตริง [local_path] ด้วย [LOCAL_PATH] ของข้อมูลของคุณ หากคุณมีหน่วยความจำระบบ GIB 40+ ให้ฝึกอบรม U-Sleep โดยใช้คำสั่งต่อไปนี้:
ut train --num_gpus 1 --max_loaded_per_dataset 40 --num_access_before_reload 32 --train_queue_type limitation --val_queue_type lazy --max_train_samples_per_epoch 1000000
ในระบบที่มีหน่วยความจำน้อยกว่าคุณอาจ 1) ลดพารามิเตอร์ --max_loaded_per_dataset จากปัจจุบัน 40 ปัจจุบันเป็นค่าที่ต่ำกว่า (ซึ่งจะทำให้บันทึก PSG น้อยลงในพูลหน่วยความจำที่ใช้งานอยู่ซึ่งจะลดการสุ่มเมื่อเลือกบันทึก) หรือ 2) ประมวลผลข้อมูลและสตรีมข้อมูลล่วงหน้าระหว่างการฝึกอบรม (ดังแสดงในการสาธิตด้านบน) โดยการเรียกใช้คำสั่งสองคำต่อไปนี้ (แทนที่ [local_path] ตามที่ใช้):
ut preprocess --out_path '[LOCAL_PATH]/processed_data.h5' --dataset_splits train_data val_data
ut train --num_gpus 1 --preprocessed --max_train_samples_per_epoch 1000000
สิ่งนี้จะใช้การประมวลผลล่วงหน้าทั้งหมดสร้างคลังข้อมูลที่เหมาะสำหรับการสตรีมและฝึกอบรม U-Sleep โดยใช้ตัวอย่างที่โหลดทันทีจากดิสก์
เนื่องจากชุดข้อมูลขนาดใหญ่ที่พิจารณาการฝึกอบรม U-Sleep กับพารามิเตอร์เริ่มต้นอาจใช้เวลานานมาก เราขอแนะนำให้เพิ่มอัตราการเรียนรู้ (จาก 1e-7 ปัจจุบันเป็นเช่น 1e-6 ) เว้นแต่ว่าคุณกำลังมองหาการสร้าง U-Sleep ใหม่ภายใต้เงื่อนไขที่แน่นอนที่พิจารณาใน [2]
คุณยังสามารถใช้ที่เก็บนี้เพื่อฝึกอบรมรุ่น U-time ที่เก่ากว่า ในต่อไปนี้เราแสดงตัวอย่างแบบครบวงจร คำสั่งที่แสดงด้านล่างเตรียมโฟลเดอร์โครงการดาวน์โหลดชุดข้อมูล Sleep-EDF-153 เหมาะกับและประเมินโมเดล U-time ในการตั้งค่าการแยกชุดข้อมูลรถไฟ/Val/Test Test Test โปรดทราบว่ารหัสด้านล่างไม่ได้ทำซ้ำการทดลอง Sleep-EDF-153 ของ [1] เป็น CV 10 เท่า ในการเรียกใช้การทดลอง CV โปรดดูที่ ut cv_split --help และ ut cv_experiment --help คำสั่ง HELP
# รับชุดข้อมูลการจัดเตรียมการนอนหลับสาธารณะ
UT Fetch -ชุดข้อมูล SEDF_SC -OUT_DIR/SEDF_SC
# เตรียมการทดลองแบบแยกส่วน
UT CV_SPLIT -DATA_DIR 'ชุดข้อมูล/SEDF_SC'
-subject_dir_pattern 'sc*'
-CV 1
-validation_fraction 0.20
--test_fraction 0.20
-subject_matching_regex 'sc4 ( d {2}).*'
--file_list
# เริ่มต้นโครงการ U-TIME
ut init -name my_utime_project
-Utime รุ่น
-ชุดข้อมูล data_dir/sedf_sc/views/recid_split
# เริ่มการฝึกอบรม
cd my_utime_project
UT Train-NUM_GPUS = 1-Channels 'EEG FPZ-CZ'
# ทำนายและประเมินผล
UT ประเมิน -OUT_DIR Eval -One_shot
# พิมพ์เมทริกซ์ความสับสน
UT CM -True 'eval/test_data/dataSet_1/files/*/true.npz'
-pred 'eval/test_data/dataSet_1/files/*/pred.npz'
# พิมพ์สถิติสรุปต่อเรื่อง
สรุป UT --CSV_PATTERN 'EVAL/TEST_DATA/*/EARMANTION_DICE.CSV'
-print_all
# เอาท์พุทขั้นตอนการนอนหลับทุก 3 วินาทีของสัญญาณ 128 Hz
# ที่นี่ 'folder_regex' ตรงกับ 2 ไฟล์ในชุดข้อมูล
UT Predict-folder_regex '../datasets/sedf_sc/sc400 [2--2 likee0'
-out_dir high_res_pred
-data_per_prediction 384
-one_shot
@incollection{NIPS2019_8692,
title = {U-Time: A Fully Convolutional Network for Time Series Segmentation Applied to Sleep Staging},
author = {Perslev, Mathias and Jensen, Michael and Darkner, Sune and Jennum, Poul Jo rgen and Igel, Christian},
booktitle = {Advances in Neural Information Processing Systems 32},
editor = {H. Wallach and H. Larochelle and A. Beygelzimer and F. dtextquotesingle Alch'{e}-Buc and E. Fox and R. Garnett},
pages = {4415--4426},
year = {2019},
publisher = {Curran Associates, Inc.},
url = {http://papers.nips.cc/paper/8692-u-time-a-fully-convolutional-network-for-time-series-segmentation-applied-to-sleep-staging.pdf}
}
U-Sleep: Resilient High-Frequency Sleep Staging
Mathias Perslev (1), Sune Darkner (1), Lykke Kempfner (2), Miki Nikolic (2), Poul Jørgen Jennum (2) & Christian Igel (1)
npj Digital Medicine, 4, 72 (2021)
https://doi.org/10.1038/s41746-021-00440-5
(1) Department of Computer Science, University of Copenhagen, Denmark
(2) Danish Center for Sleep Medicine, Rigshospitalet, Glostrup, Denmark