เคล็ดลับในการแก้ไขปัญหาที่ไม่คาดคิดมีดังนี้
ไม่อนุญาตให้ดำเนินการภายในขอบเขตกลยุทธ์การจัดจำหน่าย
ข้อผิดพลาดเช่น : ไม่อนุญาตให้สร้างตัวสร้างภายในขอบเขตกลยุทธ์ เนื่องจากมีความคลุมเครือเกี่ยวกับวิธีการจำลองตัวสร้าง (เช่น ควรคัดลอกเพื่อให้แต่ละแบบจำลองได้รับตัวเลขสุ่มเหมือนกัน หรือ 'แยก' เพื่อให้แต่ละแบบจำลองได้รับการสุ่มที่แตกต่างกัน ตัวเลข)
วิธีแก้ไข : การส่งผ่าน distribution_strategy='auto'
เพื่อ run
API จะรวมสคริปต์ทั้งหมดของคุณในกลยุทธ์การกระจาย TF ตามการกำหนดค่าคลัสเตอร์ที่ให้ไว้ คุณจะเห็นข้อผิดพลาดข้างต้นหรือสิ่งที่คล้ายกัน หากไม่อนุญาตให้ดำเนินการภายในขอบเขตกลยุทธ์การกระจายด้วยเหตุผลบางประการ หากต้องการแก้ไขข้อผิดพลาด โปรดส่งค่า None
ไปยังพารามิเตอร์ distribution_strategy
และสร้างอินสแตนซ์กลยุทธ์ให้เป็นส่วนหนึ่งของโค้ดการฝึกของคุณดังที่แสดงในตัวอย่าง นี้
หมดเวลาการสร้างอิมเมจนักเทียบท่า
ข้อผิดพลาดเช่น : request.Exceptions.ConnectionError: ('การเชื่อมต่อถูกยกเลิก', หมดเวลา ('การดำเนินการเขียนหมดเวลา'))
วิธีแก้ไข : ไดเร็กทอรีที่ใช้เป็นจุดเริ่มต้นอาจมีข้อมูลมากเกินไปสำหรับการสร้างอิมเมจได้สำเร็จ และอาจมีข้อมูลที่ไม่เกี่ยวข้องรวมอยู่ในบิลด์ จัดรูปแบบโครงสร้างไดเร็กทอรีของคุณใหม่โดยให้โฟลเดอร์ที่มีจุดเริ่มต้นรวมเฉพาะไฟล์ที่จำเป็นสำหรับโปรเจ็กต์ปัจจุบัน
ไม่รองรับเวอร์ชันสำหรับการฝึก TPU
ข้อผิดพลาดเช่น : มีข้อผิดพลาดในการส่งงาน สนาม: ข้อผิดพลาด tpu_tf_version: ไม่รองรับเวอร์ชันรันไทม์ที่ระบุ '2.3' สำหรับการฝึกอบรม TPU โปรดระบุเวอร์ชันรันไทม์อื่น
วิธีแก้ไข : โปรดใช้ TF เวอร์ชัน 2.1 ดูกลยุทธ์ TPU ใน ส่วนการกำหนดค่าคลัสเตอร์และกลยุทธ์การกระจาย
TF สร้างทุกคืน
คำเตือนเช่น : ไม่มีอิมเมจพาเรนต์ Docker '2.4.0.dev20200720' ใช้ TF nightly build ล่าสุด
วิธีแก้ไข : หากคุณไม่ได้ระบุพารามิเตอร์ docker_config.parent_image
ตามค่าเริ่มต้น เราจะใช้อิมเมจ TF docker ที่สร้างไว้ล่วงหน้าเป็นอิมเมจพาเรนต์ หากคุณไม่ได้ติดตั้ง TF ไว้บนสภาพแวดล้อมที่มีการเรียกใช้ run
ระบบจะใช้อิมเมจ TF docker สำหรับรีลีสที่เสถียร latest
มิฉะนั้น เวอร์ชันของอิมเมจนักเทียบท่าจะตรงกับเวอร์ชัน TF ที่ติดตั้งในเครื่อง อย่างไรก็ตาม อิมเมจ TF Docker ที่สร้างไว้ล่วงหน้าไม่พร้อมใช้งานสำหรับ TF nightlies ยกเว้นเวอร์ชันล่าสุด ดังนั้น หาก TF ในพื้นที่ของคุณเป็นเวอร์ชันกลางคืนที่เก่ากว่า เราจะอัปเกรดเป็นเวอร์ชันล่าสุดโดยอัตโนมัติทุกคืนและแจ้งคำเตือนนี้
การผสมวัตถุกลยุทธ์การกระจาย
ข้อผิดพลาดเช่น : RuntimeError: การผสมวัตถุ tf.distribute.Strategy ที่แตกต่างกัน
วิธีแก้ไข : โปรดระบุ distribution_strategy=None
เมื่อคุณมีกลยุทธ์การกระจายที่กำหนดไว้ในรหัสโมเดลของคุณแล้ว การระบุ distribution_strategy'='auto'
จะล้อมโค้ดของคุณในกลยุทธ์การกระจาย TensorFlow ซึ่งจะทำให้เกิดข้อผิดพลาดข้างต้น หากมีวัตถุกลยุทธ์ที่ใช้ในโค้ดของคุณอยู่แล้ว