โครงการนี้มีจุดมุ่งหมายเพื่อทำให้กระบวนการสร้างแบบจำลอง DeepDream แบบกำหนดเองง่ายขึ้นโดยใช้โมเดล googlenet ที่ผ่านการฝึกอบรมและชุดข้อมูลภาพที่กำหนดเอง
นี่คือตัวอย่างการสร้างภาพข้อมูลที่สร้างขึ้นด้วยโมเดล DeepDream แบบกำหนดเองที่ได้รับการฝึกฝนในภาพธีมฤดูร้อน:
การพึ่งพา:
คุณสามารถค้นหาคำแนะนำการติดตั้งโดยละเอียดสำหรับ Ubuntu และ Windows ในคู่มือการติดตั้ง
หลังจากตรวจสอบให้แน่ใจว่ามีการติดตั้ง Pytorch คุณสามารถดาวน์โหลด Places365 Googlenet และ Inception5H (InceptionV1) รุ่นที่ได้รับการฝึกฝนด้วยคำสั่งต่อไปนี้:
python models/download_models.py
หากคุณเพียงแค่ต้องการสร้าง DeepDreams ด้วยโมเดลที่ผ่านการฝึกฝนหรือคุณดาวน์โหลดโมเดล Pretrained ที่ทำโดยคนอื่นที่มีผู้สร้างในฝันคุณสามารถข้ามไปข้างหน้าเพื่อแสดงภาพโมเดล
สร้างและเตรียมชุดข้อมูลของคุณ
รวบรวมภาพ
เรียงลำดับภาพในรูปแบบที่ต้องการ
ลบภาพที่เสียหาย
ตรวจสอบให้แน่ใจว่ามีการลบซ้ำหากคุณยังไม่ได้ทำไปแล้ว
ปรับขนาดชุดข้อมูลเพื่อเพิ่มความเร็วในการฝึกอบรม
คำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของชุดข้อมูลของคุณ
ฝึกอบรมโมเดล googlenet
เห็นภาพผลลัพธ์
หากผลลัพธ์ไม่ดีคุณอาจต้องกลับไปที่ขั้นตอนที่ 1-2 และทำการเปลี่ยนแปลงบางอย่างกับภาพหมวดหมู่และพารามิเตอร์การฝึกอบรมที่ใช้
อาจใช้เวลาเพียง 5 ยุคในการสร้างการสร้างภาพข้อมูลที่มีลักษณะคล้ายกับข้อมูลการฝึกอบรมของคุณโดยใช้เลเยอร์ FC/Logits หลัก เพื่อเพิ่มความเร็วในการฝึกอบรมและสร้างผลลัพธ์ที่ดูดีขึ้นโมเดล BVLC ที่ใช้ไว้ล่วงหน้าที่ใช้จะถูกแช่แข็งบางส่วนเพื่อป้องกันการเปลี่ยนแปลงเลเยอร์ที่ต่ำกว่า
ในการฝึกอบรมแบบจำลอง DeepDream ที่กำหนดเองคุณจะต้องสร้างชุดข้อมูลที่ประกอบด้วยรูปภาพที่คุณต้องการใช้สำหรับการฝึกอบรม มีหลายวิธีที่คุณสามารถมองเห็นภาพสำหรับชุดข้อมูลของคุณและคุณจะต้องมีภาพอย่างน้อยสองร้อยภาพสำหรับแต่ละหมวดหมู่/คลาส
DeepDream มักจะดำเนินการกับรูปแบบการจำแนกรูปภาพที่ผ่านการฝึกอบรมในชุดข้อมูลภาพที่ประกอบด้วยหมวดหมู่/คลาสที่แตกต่างกัน รูปแบบการจำแนกภาพพยายามเรียนรู้ความแตกต่างระหว่างคลาสภาพที่แตกต่างกันและในการทำเช่นนั้นเซลล์ประสาทจะได้รับความสามารถในการสร้างภาพหลอนเหมือนฝัน ภาพที่คุณเลือกความแตกต่างระหว่างพวกเขาความแตกต่างระหว่างคลาสที่คุณเลือกและจำนวนภาพที่ใช้จะส่งผลกระทบอย่างมากต่อการสร้างภาพข้อมูลที่สามารถผลิตได้
ชุดข้อมูลรูปภาพ Pytorch จะต้องมีโครงสร้างโดยไดเรกทอรี/โฟลเดอร์หลักมีโฟลเดอร์ย่อย/ไดเรกทอรีสำหรับแต่ละหมวดหมู่/คลาส ด้านล่างตัวอย่างของโครงสร้างชุดข้อมูลที่ต้องการจะแสดงขึ้น:
dataset_dir
│
└───category1
│ │ image1.jpg
│ │ image2.jpg
│ │ image3.jpg
│
└───category2
│ image1.jpg
│ image2.jpg
│ image3.jpg
เมื่อคุณสร้างชุดข้อมูลของคุณในรูปแบบที่เหมาะสมตรวจสอบให้แน่ใจว่าคุณลบภาพที่ซ้ำกันหากคุณยังไม่ได้ทำไปแล้ว มีเครื่องมือที่หลากหลายที่คุณสามารถใช้สำหรับงานนี้รวมถึงซอฟต์แวร์ฟรีและโอเพ่นซอร์ส
หากคุณยังไม่ได้ดำเนินการอยู่คุณอาจต้องการสร้างสำเนาสำรองของชุดข้อมูลของคุณ
ถัดไปคุณจะต้องตรวจสอบว่าไม่มีภาพใดที่เสียหายในลักษณะที่ป้องกันไม่ให้ Pytorch โหลด หากต้องการลบภาพที่เสียหายออกจากชุดข้อมูลของคุณโดยอัตโนมัติให้ใช้คำสั่งต่อไปนี้:
python data_tools/remove_bad.py -delete_bad -data_path <training_data>
ถัดไปคุณจะต้องการปรับขนาดชุดข้อมูลของคุณให้ใกล้ชิดกับขนาดภาพการฝึกอบรมเพื่อเพิ่มความเร็วในการฝึกอบรม การปรับขนาดชุดข้อมูลของคุณจะไม่ป้องกันไม่ให้คุณสร้างภาพ DeepDream ที่มีขนาดใหญ่ขึ้นด้วยโมเดลผลลัพธ์ สคริปต์การปรับขนาดที่รวมอยู่จะปรับเปลี่ยนรูปภาพที่อยู่เหนือขนาดภาพที่ระบุด้วยความสูงหรือความกว้างเท่านั้น
ในการปรับขนาดภาพในชุดข้อมูลของคุณให้ใช้คำสั่งต่อไปนี้:
python data_tools/resize_data.py -data_path <training_data> -max_size 500
ขณะนี้ด้วยชุดข้อมูลที่ปรับขนาดใหม่ของคุณคุณสามารถคำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของชุดข้อมูลของคุณสำหรับใช้ในการฝึกอบรมและการเรียนรู้แบบลึก ตรวจสอบให้แน่ใจว่าได้คำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานอีกครั้งหากคุณแก้ไขชุดข้อมูลโดยการเพิ่มหรือลบภาพ
ในการคำนวณค่าเฉลี่ยและค่าเบี่ยงเบนมาตรฐานของชุดข้อมูลของคุณให้ใช้คำสั่งต่อไปนี้และบันทึกเอาต์พุตสำหรับขั้นตอนต่อไป:
python data_tools/calc_ms.py -data_path <training_data>
ตอนนี้คุณสามารถเริ่มฝึกอบรมแบบจำลอง DeepDream ของคุณได้โดยใช้สคริปต์การฝึกอบรม Googlenet ขอแนะนำให้คุณบันทึกโมเดลทุก 5-10 ยุคเพื่อตรวจสอบคุณภาพของการสร้างภาพข้อมูล
หลังจากฝึกอบรมโมเดลของคุณคุณสามารถเพิ่มเมทริกซ์สหสัมพันธ์สีให้กับพวกเขาสำหรับ decorrelation สีด้วยคำสั่งต่อไปนี้:
python data_tools/calc_cm.py -data_path <training_data> -model_file <bvlc_out120>.pth
คำสั่งการฝึกอบรมขั้นพื้นฐาน:
python train_googlenet.py -data_path <training_data> -balance_classes -batch_size 96 -data_mean <mean> -data_sd <sd>
ตัวเลือกอินพุต:
-data_path
: พา ธ ไปยังไดเรกทอรีชุดข้อมูล/โฟลเดอร์ที่คุณต้องการใช้-data_mean
: รายการค่าเฉลี่ยของคุณสำหรับชุดข้อมูลที่คุณเลือก-data_sd
: รายการค่าเบี่ยงเบนมาตรฐานสำหรับชุดข้อมูลที่คุณเลือกตัวเลือกการฝึกอบรม:
-num_epochs
: จำนวนการฝึกอบรมที่จะใช้ ค่าเริ่มต้นคือ 120
-batch_size
: จำนวนการฝึกอบรมและการตรวจสอบภาพที่จะผ่านเครือข่ายในเวลาเดียวกัน ค่าเริ่มต้นคือ 32
-learning_rate
: อัตราการเรียนรู้ที่จะใช้กับ Adam หรือ SGD Optimizer ค่าเริ่มต้นคือ 1e-2
-optimizer
: อัลกอริทึมการเพิ่มประสิทธิภาพที่จะใช้; sgd
หรือ adam
; ค่าเริ่มต้นคือ sgd
-train_workers
: มีพนักงานกี่คนที่ใช้สำหรับการฝึกอบรม ค่าเริ่มต้นคือ 0
-val_workers
: มีพนักงานกี่คนที่ใช้ในการตรวจสอบความถูกต้อง ค่าเริ่มต้นคือ 0
-balance_classes
: การเปิดใช้งานการตั้งค่าสถานะนี้จะทำให้การฝึกอบรมสมดุลสำหรับแต่ละชั้นเรียนตามขนาดของคลาสตัวเลือกรุ่น:
-model_file
: พา ธ ไปยังไฟล์โมเดล .pth
เพื่อใช้สำหรับรุ่นเริ่มต้น ค่าเริ่มต้นคือรุ่น BVLC Googlenet-freeze_to
: เลเยอร์ใดที่จะตรึงโมเดลขึ้นไป; หนึ่งใน none
, conv1
, conv2
, conv3
, mixed3a
, mixed3b
, mixed4a
, mixed4b
, mixed4c
, mixed4d
, mixed4e
, mixed5a
หรือ mixed5b
ค่าเริ่มต้นคือ mixed3b
-freeze_aux1_to
: เลเยอร์ใดที่จะตรึงสาขาเสริมแรกถึง; หนึ่งใน none
, loss_conv
, loss_fc
หรือ loss_classifier
ค่าเริ่มต้นคือ none
-freeze_aux2_to
: เลเยอร์ใดที่จะตรึงสาขาเสริมที่สองถึง; หนึ่งใน none
, loss_conv
, loss_fc
หรือ loss_classifier
ค่าเริ่มต้นคือ none
-delete_branches
: หากเปิดใช้งานการตั้งค่าสถานะนี้จะไม่มีการใช้สาขาเสริมในแบบจำลองตัวเลือกผลลัพธ์:
-save_epoch
: บันทึกโมเดล Every save_epoch
Epochs ค่าเริ่มต้นคือ 10
ตั้งค่าเป็น 0
เพื่อปิดใช้งานการบันทึกโมเดลระดับกลาง-output_name
: ชื่อของโมเดลเอาต์พุต ค่าเริ่มต้นคือ bvlc_out.pth
-individual_acc
: การเปิดใช้งานการตั้งค่าสถานะนี้จะพิมพ์ความถูกต้องของแต่ละบุคคลของแต่ละชั้นเรียน-save_csv
: การเปิดใช้งานการตั้งค่าสถานะนี้จะบันทึกข้อมูลการสูญเสียและความถูกต้องไปยังไฟล์ TXT-csv_dir
: จะบันทึกไฟล์ CSV ได้ที่ไหน ค่าเริ่มต้นถูกตั้งค่าเป็นไดเรกทอรีการทำงานปัจจุบันตัวเลือกอื่น ๆ :
-use_device
: ID ดัชนีที่ไม่มีการจัดทำ GPU เพื่อใช้ Plus cuda:
ค่าเริ่มต้นคือ cuda:0
-seed
: ค่าจำนวนเต็มที่คุณสามารถระบุสำหรับผลลัพธ์ที่ทำซ้ำได้ โดยค่าเริ่มต้นค่านี้จะสุ่มสำหรับการรันแต่ละครั้งตัวเลือกชุดข้อมูล:
-val_percent
: เปอร์เซ็นต์ของภาพจากแต่ละคลาสที่จะใช้สำหรับการตรวจสอบความถูกต้อง ค่าเริ่มต้นคือ 0.2
หลังจากฝึกอบรมแบบจำลอง DeepDream ใหม่คุณจะต้องทดสอบการสร้างภาพข้อมูล การสร้างภาพข้อมูลที่ดีที่สุดพบได้ในชั้น FC หลักหรือที่เรียกว่าเลเยอร์ 'logits' สคริปต์นี้ช่วยให้คุณเห็นภาพช่องสัญญาณของเลเยอร์ที่ระบุอย่างรวดเร็วและง่ายดายในรุ่นเฉพาะสำหรับยุคโมเดลเฉพาะโดยการสร้างภาพแยกต่างหากสำหรับแต่ละช่อง
ตัวเลือกอินพุต:
-model_file
: เส้นทางไปยังโมเดล googlenet pretrained ที่คุณต้องการใช้-learning_rate
: อัตราการเรียนรู้ที่จะใช้กับเครื่องมือเพิ่มประสิทธิภาพ ADAM หรือ L-BFGS ค่าเริ่มต้นคือ 1.5
-optimizer
: อัลกอริทึมการเพิ่มประสิทธิภาพที่จะใช้; lbfgs
หรือ adam
; ค่าเริ่มต้นคือ adam
-num_iterations
: ค่าเริ่มต้นคือ 500
-layer
: เลเยอร์เฉพาะที่คุณต้องการใช้ ค่าเริ่มต้นถูกตั้งค่าเป็น fc
-extract_neuron
: หากเปิดใช้งานการตั้งค่าสถานะนี้เซลล์ประสาทกลางจะถูกสกัดจากแต่ละช่อง-image_size
: รายการที่คั่นด้วยเครื่องหมายจุลภาคของ <height>,<width>
เพื่อใช้สำหรับภาพเอาต์พุต ค่าเริ่มต้นถูกตั้งค่าเป็น 224,224
-jitter
: ปริมาณของภาพกระวนกระวายใจที่จะใช้สำหรับการประมวลผลล่วงหน้า ค่าเริ่มต้นคือ 16
-fft_decorrelation
: ไม่ว่าจะใช้ decorrelation เชิงพื้นที่ FFT หรือไม่ หากเปิดใช้งานควรใช้อัตราการเรียนรู้ที่ต่ำกว่า-color_decorrelation
: ไม่ว่าจะใช้ decorrelation สีหรือไม่ เลือกรายการค่าคั่นด้วยเครื่องหมายจุลภาคสำหรับเมทริกซ์สหสัมพันธ์สี หากไม่มีการจัดเตรียมค่าความพยายามในการโหลดเมทริกซ์สหสัมพันธ์สีจากไฟล์โมเดลจะทำก่อนที่จะเริ่มต้นกับเมทริกซ์สหสัมพันธ์สี Imagenet-random_scale
: ไม่ว่าจะใช้การปรับขนาดแบบสุ่มหรือไม่ เป็นทางเลือกให้รายการคั่นด้วยเครื่องหมายจุลภาคของค่าสำหรับเครื่องชั่งที่จะถูกสุ่มเลือกจาก หากไม่มีการจัดเตรียมค่าสเกลจะถูกสุ่มเลือกจากรายการต่อไปนี้: 1, 0.975, 1.025, 0.95, 1.05
-random_rotation
: ไม่ว่าจะใช้การหมุนแบบสุ่มหรือไม่ เป็นทางเลือกให้รายการที่คั่นด้วยเครื่องหมายจุลภาคของค่าปริญญาสำหรับการหมุนที่จะถูกสุ่มเลือกจากหรือค่าเดียวที่จะใช้สำหรับการเลือกองศาแบบสุ่มจาก [-value, value]
หากไม่มีการจัดเตรียมค่าจะมีการใช้ช่วง [-5, 5]
-padding
: ปริมาณของช่องว่างภายในที่จะใช้ก่อนการปรับขนาดแบบสุ่มและการหมุนแบบสุ่มเพื่อป้องกันสิ่งประดิษฐ์ขอบ ช่องว่างภายในจะถูกลบออกหลังจากการแปลง ค่าเริ่มต้นถูกตั้งค่าเป็น 0
เพื่อปิดการใช้งานตัวเลือกการประมวลผล:
-batch_size
: จำนวนภาพการสร้างภาพช่องสัญญาณที่จะสร้างในแต่ละชุด ค่าเริ่มต้นคือ 10
-start_channel
: ช่องอะไรที่จะเริ่มสร้างภาพการสร้างภาพข้อมูลที่ ค่าเริ่มต้นคือ 0
-end_channel
: ช่องอะไรที่จะหยุดการสร้างภาพการสร้างภาพที่ ค่าเริ่มต้นถูกตั้งค่าเป็น -1
สำหรับทุกช่องจำเป็นเฉพาะในกรณีที่โมเดลไม่มีตัวเลือก :
-model_epoch
: ยุคการฝึกอบรมที่โมเดลถูกบันทึกไว้เพื่อใช้สำหรับชื่อภาพเอาต์พุต ค่าเริ่มต้นคือ 120
-data_mean
: รายการค่าเฉลี่ยของค่าเฉลี่ยที่ใช้ในการฝึกอบรมแบบจำลองหากพวกเขาไม่ได้บันทึกไว้ในโมเดล-num_classes
: จำนวนคลาสที่โมเดลได้รับการฝึกฝน ค่าเริ่มต้นคือ 120
ตัวเลือกผลลัพธ์ :
-output_dir
: จะบันทึกภาพเอาต์พุตได้ที่ไหน ค่าเริ่มต้นถูกตั้งค่าเป็นไดเรกทอรีการทำงานปัจจุบัน-print_iter
: พิมพ์ความคืบหน้าทุกการทำซ้ำ print_iter
ตั้งค่าเป็น 0
เพื่อปิดการพิมพ์-save_iter
: บันทึกภาพ save_iter
ทุกครั้ง ค่าเริ่มต้นคือ 0
เพื่อปิดใช้งานการบันทึกผลลัพธ์ระดับกลางตัวเลือกอื่น ๆ :
-use_device
: ID ดัชนีที่ไม่มีการจัดทำ GPU เพื่อใช้ Plus cuda:
ค่าเริ่มต้นคือ cuda:0
-seed
: ค่าจำนวนเต็มที่คุณสามารถระบุสำหรับผลลัพธ์ที่ทำซ้ำได้ โดยค่าเริ่มต้นค่านี้จะสุ่มสำหรับการรันแต่ละครั้งการสร้างภาพเลเยอร์ FC ขั้นพื้นฐาน (logits):
python vis_multi.py -model_file <bvlc_out120>.pth
การสร้างภาพเลเยอร์ Advanced FC (logits):
python vis_multi.py -model_file <bvlc_out120>.pth -layer fc -color_decorrelation -fft_decorrelation -random_scale -random_rotation -lr 0.4 -output_dir <output_dir> -padding 16 -jitter 16,8
สคริปต์นี้ช่วยให้คุณสร้างภาพหลอน DeepDream ด้วยโมเดล Googlenet ที่ผ่านการฝึกอบรม
ตัวเลือกอินพุต:
-model_file
: เส้นทางไปยังโมเดล googlenet pretrained ที่คุณต้องการใช้-learning_rate
: อัตราการเรียนรู้ที่จะใช้กับเครื่องมือเพิ่มประสิทธิภาพ ADAM หรือ L-BFGS ค่าเริ่มต้นคือ 1.5
-optimizer
: อัลกอริทึมการเพิ่มประสิทธิภาพที่จะใช้; lbfgs
หรือ adam
; ค่าเริ่มต้นคือ adam
-num_iterations
: ค่าเริ่มต้นคือ 500
-content_image
: เส้นทางไปยังรูปภาพอินพุตของคุณ หากไม่มีการระบุภาพอินพุตให้ใช้สัญญาณรบกวนแบบสุ่มแทน-layer
: เลเยอร์เฉพาะที่คุณต้องการใช้ ค่าเริ่มต้นถูกตั้งค่าเป็น mixed5a
-channel
: ช่องเลเยอร์เฉพาะที่คุณต้องการใช้ ค่าเริ่มต้นถูกตั้งค่าเป็น -1
เพื่อปิดใช้งานการเลือกช่องสัญญาณเฉพาะ-extract_neuron
: หากเปิดใช้งานค่าสถานะนี้เซลล์ประสาทกลางจะถูกสกัดจากช่องทางที่เลือกโดยพารามิเตอร์ -channel
-image_size
: รายการที่คั่นด้วยเครื่องหมายจุลภาคของ <height>,<width>
เพื่อใช้สำหรับภาพเอาต์พุต หากมีค่าเดียวสำหรับความยาวด้านสูงสุดพร้อมกับภาพเนื้อหาความยาวด้านต่ำสุดจะถูกคำนวณโดยอัตโนมัติ ค่าเริ่มต้นถูกตั้งค่าเป็น 224,224
-jitter
: ปริมาณของภาพกระวนกระวายใจที่จะใช้สำหรับการประมวลผลล่วงหน้า ค่าเริ่มต้นคือ 16
-fft_decorrelation
: ไม่ว่าจะใช้ decorrelation เชิงพื้นที่ FFT หรือไม่ หากเปิดใช้งานควรใช้อัตราการเรียนรู้ที่ต่ำกว่า-color_decorrelation
: ไม่ว่าจะใช้ decorrelation สีหรือไม่ เลือกรายการค่าคั่นด้วยเครื่องหมายจุลภาคสำหรับเมทริกซ์สหสัมพันธ์สี หากไม่มีการจัดเตรียมค่าความพยายามในการโหลดเมทริกซ์สหสัมพันธ์สีจากไฟล์โมเดลจะทำก่อนที่จะเริ่มต้นกับเมทริกซ์สหสัมพันธ์สี Imagenet-random_scale
: ไม่ว่าจะใช้การปรับขนาดแบบสุ่มหรือไม่ เป็นทางเลือกให้รายการคั่นด้วยเครื่องหมายจุลภาคของค่าสำหรับเครื่องชั่งที่จะถูกสุ่มเลือกจาก หากไม่มีการจัดเตรียมค่าสเกลจะถูกสุ่มเลือกจากรายการต่อไปนี้: 1, 0.975, 1.025, 0.95, 1.05
-random_rotation
: ไม่ว่าจะใช้การหมุนแบบสุ่มหรือไม่ เป็นทางเลือกให้รายการที่คั่นด้วยเครื่องหมายจุลภาคของค่าปริญญาสำหรับการหมุนที่จะถูกสุ่มเลือกจากหรือค่าเดียวที่จะใช้สำหรับการเลือกองศาแบบสุ่มจาก [-value, value]
หากไม่มีการจัดเตรียมค่าจะมีการใช้ช่วง [-5, 5]
-padding
: ปริมาณของช่องว่างภายในที่จะใช้ก่อนการปรับขนาดแบบสุ่มและการหมุนแบบสุ่มเพื่อป้องกันสิ่งประดิษฐ์ขอบ ช่องว่างภายในจะถูกลบออกหลังจากการแปลง ค่าเริ่มต้นถูกตั้งค่าเป็น 0
เพื่อปิดการใช้งาน-layer_vis
: ไม่ว่าจะใช้ DeepDream หรือการสร้างภาพทิศทางเมื่อไม่แสดงภาพช่องเลเยอร์เฉพาะ หนึ่งใน deepdream
หรือ direction
; ค่าเริ่มต้นคือ deepdream
จำเป็นเฉพาะในกรณีที่โมเดลไม่มีตัวเลือก :
-data_mean
: รายการค่าเฉลี่ยของค่าเฉลี่ยที่ใช้ในการฝึกอบรมแบบจำลองหากพวกเขาไม่ได้บันทึกไว้ในโมเดล-num_classes
: จำนวนคลาสที่โมเดลได้รับการฝึกฝนหากไม่ได้บันทึกไว้ในโมเดลตัวเลือกผลลัพธ์ :
-output_image
: ชื่อของภาพเอาต์พุต ค่าเริ่มต้นคือ out.png
-print_iter
: พิมพ์ความคืบหน้าทุกการทำซ้ำ print_iter
ตั้งค่าเป็น 0
เพื่อปิดการพิมพ์-save_iter
: บันทึกภาพ save_iter
ทุกครั้ง ค่าเริ่มต้นคือ 0
เพื่อปิดใช้งานการบันทึกผลลัพธ์ระดับกลางตัวเลือกการปูกระเบื้อง:
-tile_size
: ขนาดกระเบื้องที่ต้องการใช้ ไม่ว่าจะเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของ <height>,<width>
หรือค่าเดียวที่จะใช้สำหรับทั้งความสูงและความกว้างของกระเบื้อง ค่าเริ่มต้นถูกตั้งค่าเป็น 0
เป็นปิดการใช้งานการปูกระเบื้อง-tile_overlap
: เปอร์เซ็นต์ของการทับซ้อนที่จะใช้สำหรับกระเบื้อง ค่าเริ่มต้นคือ 25
สำหรับการทับซ้อน 25% เปอร์เซ็นต์การทับซ้อนกันมากกว่า 50% จะส่งผลให้เกิดปัญหา-tile_iter
: ค่าเริ่มต้นคือ 50
ตัวเลือกอื่น ๆ :
-use_device
: ID ดัชนีที่ไม่มีการจัดทำ GPU เพื่อใช้ Plus cuda:
ค่าเริ่มต้นคือ cuda:0
-seed
: ค่าจำนวนเต็มที่คุณสามารถระบุสำหรับผลลัพธ์ที่ทำซ้ำได้ โดยค่าเริ่มต้นค่านี้จะสุ่มสำหรับการรันแต่ละครั้งDeepDream พื้นฐาน:
python vis.py -model_file <bvlc_out120>.pth -layer mixed5a
DeepDream ขั้นสูง:
python vis.py -model_file <bvlc_out120>.pth -layer mixed5a/conv_5x5_relu -channel 9 -color_decorrelation -fft_decorrelation -random_scale -random_rotation -lr 0.4 -padding 16 -jitter 16,8
ดูที่นี่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสคริปต์/เครื่องมือที่รวมอยู่ทั้งหมดที่เกี่ยวข้องกับการสร้างชุดข้อมูลการทำความสะอาดและการเตรียมการ