ปรับใช้โมเดลบน ml-engine โดยส่งออกด้วย tf.train.Saver()

ฉันต้องการปรับใช้โมเดลกับ Google ML Engine เวอร์ชันใหม่ ก่อนหน้านี้ ด้วย Google ML ฉันสามารถส่งออกโมเดลที่ได้รับการฝึกสร้าง tf.train.Saver() และบันทึกโมเดลด้วย saver.save(session, output)

จนถึงตอนนี้ ฉันไม่สามารถทราบได้ว่าโมเดลที่ส่งออกที่ได้รับด้วยวิธีนี้ยังคงใช้งานได้บน ml-engine หรือไม่ หรือฉันต้องทำตามขั้นตอนการฝึกอบรมที่อธิบายไว้ ที่นี่ และสร้างแพ็คเกจเทรนเนอร์ใหม่และจำเป็นต้องฝึกโมเดลของฉันด้วย ml-engine

ฉันยังสามารถใช้ tf.train.Saver() เพื่อรับโมเดลที่ฉันจะปรับใช้บน ml-engine ได้หรือไม่


person EffePi    schedule 21.03.2017    source แหล่งที่มา


คำตอบ (1)


tf.train.Saver() สร้างจุดตรวจเท่านั้น

Cloud ML Engine ใช้ SavedModel ซึ่งผลิตจาก API เหล่านี้: https://www.tensorflow.org/versions/master/api_docs/python/tf/saved_model?hl=bn

โมเดลที่บันทึกไว้คือจุดตรวจสอบ + โปรโตบัฟแบบอนุกรมที่มีคำจำกัดความของกราฟตั้งแต่หนึ่งรายการขึ้นไป + ชุดลายเซ็นที่ประกาศอินพุตและเอาต์พุตของกราฟ/โมเดล + ไฟล์เนื้อหาเพิ่มเติม หากมี เพื่อให้สิ่งเหล่านี้ทั้งหมดสามารถนำมาใช้ในเวลาให้บริการได้

ฉันขอแนะนำให้ดูตัวอย่างสองสามตัวอย่าง:

  1. ตัวอย่างการสำรวจสำมะโนประชากร - https://github.com/GoogleCloudPlatform/cloudml-samples/blob/master/census/tensorflowcore/trainer/task.py#L334

  2. และโค้ดตัวอย่าง/ไลบรารีของฉันเอง - https://github.com/TensorLab/tensorfx/blob/master/src/training/_hooks.py#L208 ที่เรียกเข้าสู่ https://github.com/TensorLab/tensorfx/blob/master/src/prediction/_model.py#L66 เพื่อสาธิตวิธีใช้ จุดตรวจ โหลดลงในเซสชัน จากนั้นสร้างโมเดลที่บันทึกไว้

หวังว่าพอยน์เตอร์เหล่านี้จะช่วยปรับโค้ดที่มีอยู่ของคุณเพื่อสร้างโมเดลเพื่อสร้าง SavedModel ในตอนนี้

ฉันคิดว่าคุณถามคำถามที่คล้ายกันอีกข้อในการแปลงโมเดลที่ส่งออกก่อนหน้านี้ และฉันจะเชื่อมโยงไปยังคำถามนี้เพื่อความสมบูรณ์สำหรับคนอื่นๆ: ปรับใช้ Inception SavedModel-to-google-cloud-ml-engine ที่ได้รับการฝึกใหม่กับเอ็นจิ้น google cloud ml

person Nikhil Kothari    schedule 27.03.2017