คว้า nn~ รุ่นล่าสุด! อย่าลืมดาวน์โหลดเวอร์ชันที่ถูกต้องสำหรับการติดตั้งของคุณ
ผู้ใช้ Mac คุณควรดาวน์โหลดเวอร์ชัน arm64 หาก Mac ของคุณเป็น M1-2 และการติดตั้ง Max/MSP หรือ PureData ไม่ได้ใช้ Rosetta !
ผู้ใช้ Windows ในตอนนี้ จำเป็นต้องคัดลอกไฟล์ .dll
ทั้งหมดในแพ็คเกจ nn~
ถัดจากไฟล์ปฏิบัติการ ˋMax.exeˋ
คลายการบีบอัดไฟล์ .tar.gz
ในโฟลเดอร์ Package ของการติดตั้ง Max ของคุณ เช่น ใน Documents/Max 8/Packages/
จากนั้นคุณสามารถยกตัวอย่างวัตถุ nn~
ได้ คุณอาจได้รับคำเตือนเรื่องการกักกันเช่นนี้ ทั้งนี้ขึ้นอยู่กับการติดตั้งของคุณ
ในกรณีส่วนใหญ่ การดำเนินการลบจะปิดการใช้งานคำเตือนนี้จนกว่าจะมีการอัปเดตครั้งถัดไปของ nn~
หาก MacOS ยังคงบล็อกภายนอก คุณอาจต้องคอมไพล์ด้วยตนเอง
คลิกขวาที่อ็อบเจ็กต์ nn~
เพื่อเปิดแพตช์วิธีใช้ และปฏิบัติตามแท็บต่างๆ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับโปรเจ็กต์นี้
คลายการบีบอัดไฟล์ .tar.gz
ในโฟลเดอร์ Package ของการติดตั้ง Pd ของคุณ เช่น ใน Documents/Pd/externals/
จากนั้นคุณสามารถเพิ่มเส้นทางใหม่ในเมนู Pd/File/Preferences/Path
ที่ชี้ไปยังโฟลเดอร์ nn_tilde
บน MacOS ต่างจาก Max/MSP ตรงที่ PureData ไม่มีขั้นตอนการลบการกักเก็บอัตโนมัติ ดังนั้นเราจึงต้องทำด้วยตนเอง เปิดเทอร์มินัลแล้ว cd
ไปที่โฟลเดอร์ nn_tilde
คำสั่งต่อไปนี้จะแก้ไขปัญหา
xattr -r -d com.apple.quarantine .
โดยพื้นฐานแล้ว nn~
คือเลเยอร์การแปลระหว่าง Max/MSP หรือ PureData และอินเทอร์เฟซ libtorch c++ สำหรับการเรียนรู้เชิงลึก อยู่คนเดียว nn~
ก็เหมือนกับเปลือกว่าง และ ต้องใช้โมเดลที่ได้รับการฝึกมาก่อน จึงจะทำงานได้ คุณสามารถค้นหารุ่น RAVE บางรุ่นได้ที่นี่ หรือรุ่น vschaos2 บางส่วนที่นี่
โมเดลที่ได้รับการฝึกอบรมล่วงหน้าสำหรับ nn~
คือ ไฟล์ torchscript โดยมีนามสกุล .ts
สร้างโฟลเดอร์ที่ไหนสักแห่งบนคอมพิวเตอร์ของคุณ เช่น ใน
Documents/pretrained_models/
และเพิ่มพาธนี้ไปยัง Max หรือ PureData include path (Max: Options/File Preferences
, PureData: File/Preferences/Path
)
เมื่อเสร็จแล้ว คุณสามารถโหลดโมเดลโดยใช้ไวยากรณ์ต่อไปนี้ (ที่นี่เพื่อโหลดโมเดลที่ได้รับการฝึกล่วงหน้าซึ่งอยู่ใน Documents/pretrained_models/decoder_only.ts
)
แม็กซ์/เอ็มเอสพี | เพียวดาต้า |
---|---|
โปรดทราบว่าคุณ ต้อง รวมส่วนขยาย .ts
ในเวอร์ชัน PureData ขึ้นอยู่กับรุ่นที่โหลด จะมีจำนวนทางเข้า / ทางออกที่แตกต่างกัน ซึ่งสอดคล้องกับอินพุตและเอาท์พุตที่แตกต่างกันของรุ่น
โมเดลที่ได้รับการฝึกล่วงหน้าอาจมี วิธีการ ที่แตกต่างกันหลายวิธี โดยมีผลและการใช้งานที่แตกต่างกัน ตัวอย่างเช่น โมเดล RAVE มีสามวิธีที่แตกต่างกัน ซึ่งสอดคล้องกับส่วนย่อยที่แตกต่างกันของโมเดล เพื่อเป็นตัวอย่าง เราจะอธิบายไว้ในตารางต่อไปนี้:
ชื่อวิธีการ | คำอธิบาย | อินพุต | เอาท์พุต |
---|---|---|---|
เข้ารหัส | เข้ารหัสสัญญาณเสียงเป็นวิถีแฝง | สัญญาณเสียง | วิถีแฝงหลายอัน |
ถอดรหัส | ถอดรหัสวิถีแฝงเป็นสัญญาณเสียง | วิถีแฝงหลายอัน | สัญญาณเสียง |
ไปข้างหน้า (ค่าเริ่มต้น) | เข้ารหัส และ ถอดรหัสสัญญาณเสียง | สัญญาณเสียง | สัญญาณเสียง |
ผู้ใช้สามารถสลับระหว่างวิธีการต่างๆ ในระหว่างการสร้างอินสแตนซ์โดยเพิ่มอาร์กิวเมนต์ที่สองให้กับ nn~
เรียกวิธีการที่ต้องการ
แม็กซ์/เอ็มเอสพี | เพียวดาต้า |
---|---|
มีความเป็นไปได้ที่จะกำหนดค่าโมเดลหลังจากการกำหนดค่าเริ่มต้นโดยใช้ คุณลักษณะ พิเศษ ซึ่งประเภทและเอฟเฟกต์ถูกกำหนดโดยโมเดลเองทั้งหมด ยกเว้นแอตทริบิวต์ enable
ซึ่งสามารถตั้งค่าเป็น 0 หรือ 1 เพื่อเปิดหรือปิดใช้งานโมเดล ซึ่งอาจช่วยประหยัดได้ คำนวณขึ้น
คุณลักษณะโมเดลสามารถตั้งค่าได้โดยใช้ ข้อความ โดยมีไวยากรณ์ต่อไปนี้:
set ATTRIBUTE_NAME ATTRIBUTE_VAL_1 ATTRIBUTE_VAL_2
การใช้อ็อบเจ็กต์กราฟิก Max/MSP และ PureData สามารถนำไปสู่วิธีที่ใช้งานง่ายในการปรับเปลี่ยนพฤติกรรมของโมเดล ดังที่แสดงด้านล่าง โดยที่เรามีแอตทริบิวต์ของโมเดลสองรายการ (เช่น อุณหภูมิการสร้างและโหมดการสร้าง) และแอตทริบิวต์ enable
พิเศษ
แม็กซ์/เอ็มเอสพี | เพียวดาต้า |
---|---|
รายการแอตทริบิวต์และค่าจะ ขึ้นอยู่กับโมเดล อีกครั้ง และควรดึงข้อมูลในเอกสารประกอบของโมเดล
ภายใน nn~
มีกลไกบัฟเฟอร์แบบวงกลมที่ช่วยรักษาภาระการคำนวณที่เหมาะสม คุณสามารถปรับขนาดได้โดยการใช้จำนวนเต็มเพิ่มเติมหลังการประกาศเมธอด ดังที่แสดงด้านล่าง
แม็กซ์/เอ็มเอสพี | เพียวดาต้า |
---|---|
Max/MSP release ของ nn~
รวมถึงส่วนภายนอกเพิ่มเติม ได้แก่ mc.nn~
และ mcs.nn~
ซึ่งช่วยให้สามารถใช้ความสามารถหลายช่องของ Max 8+ เพื่อลดความซับซ้อนของกระบวนการแพตช์ด้วย nn~
และอาจลดภาระการคำนวณได้อีกด้วย
ในตัวอย่างต่อไปนี้ ไฟล์เสียงสองไฟล์จะถูกเข้ารหัส จากนั้นถอดรหัสโดยรุ่นเดียวกันในแบบคู่ขนาน
แพตช์นี้สามารถปรับปรุงได้ทั้งการมองเห็น และ การพูดด้วยคอมพิวเตอร์โดยใช้ mc.nn~
และการใช้ การดำเนินการแบบแบตช์
การใช้ mc.nn~
เราสร้างสัญญาณหลายช่อง เหนือชุดข้อมูลที่แตกต่างกัน ในตัวอย่างข้างต้น สัญญาณหลายช่องสัญญาณแต่ละช่องจะมีช่องสัญญาณที่แตกต่างกัน 2 ช่อง นอกจากนี้เรายังเสนอ mcs.nn~
external ที่สร้างสัญญาณหลายช่องสัญญาณ ในมิติที่แตกต่างกัน ดังที่แสดงในตัวอย่างด้านล่าง
ในตัวอย่างข้างต้น สัญญาณหลายช่องสัญญาณทั้งสองที่ได้มาจากอ็อบเจ็กต์ nn~ rave encode 2
มี 16 ช่องสัญญาณแต่ละช่อง ซึ่งสอดคล้องกับมิติแฝง 16 ช่อง สิ่งนี้สามารถช่วยแพตช์ได้ ในขณะเดียวกันก็รักษาความสามารถในการแบทช์ของ mc.nn~
ด้วยการสร้างจำนวนทางเข้า / อูเล็ตที่ชัดเจนซึ่งสอดคล้องกับจำนวนตัวอย่างที่เราต้องการประมวลผลแบบขนาน
โดยสรุป nn~
ปกติทำงานในตัวอย่างเดียว และมีช่องทางเข้า / ทางออกมากเท่ากับที่โมเดลมีอินพุต / เอาท์พุต mc.nn~
external เหมือนกับ nn~
แต่สามารถประมวลผลหลายตัวอย่าง ได้ในเวลาเดียวกัน ตัวแปร mcs.nn~
จะแตกต่างออกไปเล็กน้อย และสามารถประมวลผลตัวอย่างหลายรายการพร้อมกันได้ แต่จะ มีทางเข้า / ทางออกหนึ่งรายการต่อตัวอย่าง
เปิด / ปิดการคำนวณเพื่อบันทึกการคำนวณโดยไม่ต้องลบโมเดล คล้ายกับการทำงานของฟังก์ชัน บายพาส
โหลดโมเดลซ้ำแบบไดนามิก จะมีประโยชน์หากคุณต้องการอัปเดตสถานะของแบบจำลองเป็นระยะๆ ในระหว่างการฝึก
git clone https://github.com/acids-ircam/nn_tilde --recursive
cd nn_tilde
mkdir build
cd build
cmake ../src/ -DCMAKE_PREFIX_PATH=/path/to/libtorch -DCMAKE_BUILD_TYPE=Release
make
.mxo
ภายนอกที่สร้างขึ้นภายใน ~/Documents/Max 8/Packages/nn_tilde/externals/
คุณสามารถสร้าง nn~
สำหรับ PureData ได้โดยเพิ่ม -DPUREDATA_INCLUDE_DIR=/Applications/Pd-X.XX-X.app/Contents/Resources/src/
ลงในการเรียก cmake
git clone https://github.com/acids-ircam/nn_tilde --recurse-submodules
cd nn_tilde
mkdir build
cd build
cmake .. s rc -A x64 -DCMAKE_PREFIX_PATH= " <unzipped libtorch directory> " -DPUREDATA_INCLUDE_DIR= " <path-to-pd/src> " -DPUREDATA_BIN_DIR= " <path-to-pd/bin> "
cmake --build . --config Release
แม้ว่า nn~ สามารถคอมไพล์และใช้กับ Raspberry Pi ได้ แต่คุณอาจต้องพิจารณาใช้โมเดลการเรียนรู้เชิงลึกที่เบากว่า ขณะนี้เรารองรับระบบปฏิบัติการ 64 บิตเท่านั้น
ติดตั้ง nn~ สำหรับ PureData โดยใช้
curl -s https://raw.githubusercontent.com/acids-ircam/nn_tilde/master/install/raspberrypi.sh | bash
งานนี้ดำเนินการโดย IRCAM และได้รับทุนสนับสนุนจากโครงการต่อไปนี้