NeuroPod เป็นห้องสมุดที่ให้อินเทอร์เฟซแบบสม่ำเสมอเพื่อเรียกใช้โมเดลการเรียนรู้ลึกจากหลายเฟรมเวิร์กใน C ++ และ Python Neuropod ทำให้นักวิจัยสามารถสร้างแบบจำลองในกรอบการเลือกของพวกเขาได้ง่ายในขณะเดียวกันก็ทำให้การผลิตแบบจำลองเหล่านี้ง่ายขึ้น
ปัจจุบันรองรับ Tensorflow, Pytorch, Torchscript, Keras และ Ludwig
สำหรับข้อมูลเพิ่มเติม:
การรันรุ่น Tensorflow ดูเหมือนจะใช้โมเดล Pytorch
x = np . array ([ 1 , 2 , 3 , 4 ])
y = np . array ([ 5 , 6 , 7 , 8 ])
for model_path in [ TF_ADDITION_MODEL_PATH , PYTORCH_ADDITION_MODEL_PATH ]:
# Load the model
neuropod = load_neuropod ( model_path )
# Run inference
results = neuropod . infer ({ "x" : x , "y" : y })
# array([6, 8, 10, 12])
print results [ "out" ]ดูคำแนะนำการสอน, คู่มือ Python หรือ C ++ สำหรับตัวอย่างเพิ่มเติม
ประโยชน์บางอย่างของสิ่งนี้รวมถึง:
โมเดล NeuroPod ใด ๆ สามารถเรียกใช้จากทั้ง C ++ และ Python (แม้แต่รุ่น Pytorch ที่ไม่ได้ถูกแปลงเป็น Torchscript)
สิ่งนี้ช่วยให้คุณมุ่งเน้นไปที่ปัญหาที่คุณกำลังแก้ไขมากกว่ากรอบที่คุณใช้เพื่อแก้ไข
ตัวอย่างเช่นหากคุณกำหนดปัญหา API สำหรับการตรวจจับวัตถุ 2D โมเดลใด ๆ ที่ใช้มันสามารถนำรหัสการอนุมานและโครงสร้างพื้นฐานที่มีอยู่ทั้งหมดมาใช้ใหม่ทั้งหมดสำหรับปัญหานั้น
INPUT_SPEC = [
# BGR image
{ "name" : "image" , "dtype" : "uint8" , "shape" : ( 1200 , 1920 , 3 )},
]
OUTPUT_SPEC = [
# shape: (num_detections, 4): (xmin, ymin, xmax, ymax)
# These values are in units of pixels. The origin is the top left corner
# with positive X to the right and positive Y towards the bottom of the image
{ "name" : "boxes" , "dtype" : "float32" , "shape" : ( "num_detections" , 4 )},
# The list of classes that the network can output
# This must be some subset of ['vehicle', 'person', 'motorcycle', 'bicycle']
{ "name" : "supported_object_classes" , "dtype" : "string" , "shape" : ( "num_classes" ,)},
# The probability of each class for each detection
# These should all be floats between 0 and 1
{ "name" : "object_class_probability" , "dtype" : "float32" , "shape" : ( "num_detections" , "num_classes" )},
]สิ่งนี้ช่วยให้คุณได้
ดูการสอนสำหรับรายละเอียดเพิ่มเติม
หากคุณมีหลายรุ่นที่ใช้ในชุดอินพุตที่คล้ายกันคุณสามารถสร้างและเพิ่มประสิทธิภาพหนึ่งไปป์ไลน์การสร้างอินพุตเฟรมเวิร์ก-ออนโมสติกและแชร์ข้ามรุ่น
โมเดลที่มีอยู่ในตัวเองอย่างเต็มที่ (รวมถึง OPS ที่กำหนดเอง)
การดำเนินงานที่มีประสิทธิภาพเป็นศูนย์
ทดสอบบนแพลตฟอร์มรวมถึง
แบบจำลองการแยกด้วยการดำเนินการนอกกระบวนการ
สลับจากการรันในกระบวนการเป็นการใช้งานนอกกระบวนการด้วยรหัสหนึ่งบรรทัด
ดูบทแนะนำเบื้องต้นสำหรับภาพรวมของวิธีการเริ่มต้นด้วย neuropod
คู่มือ Python และ C ++ จะมีรายละเอียดเพิ่มเติมเกี่ยวกับการใช้งานโมเดล NeuroPod