MorphingDB เป็นส่วนขยาย PostgreSQL สำหรับการสนับสนุนการอนุมานแบบจำลองการเรียนรู้ลึกภายในฐานข้อมูลและที่เก็บเวกเตอร์
MorphingDB ช่วยให้ผู้ใช้สามารถนำเข้าโมเดล libtorch และทำการอนุมานโดยใช้ข้อมูลจากภายในฐานข้อมูล
MorphingDB ช่วยให้ผู้ใช้สามารถจัดเก็บข้อมูลเวกเตอร์ด้วยข้อมูลมิติช่วยให้ Libtorch ทำงานโดยตรงกับข้อมูลเวกเตอร์ในฐานข้อมูลผู้ใช้สามารถจัดเก็บข้อมูลล่วงหน้าลงในเวกเตอร์ในฐานข้อมูลเพื่อเพิ่มความเร็วในการอนุมาน
MorphingDB รองรับการอนุมานเป็นศูนย์กลางและการอนุมานเป็นศูนย์กลาง
Dowload zip ไปยังเส้นทางโครงการ MorphingDB
รุ่นคลายซิป
unzip models.zip -d ./model/ใช้อิมเมจนักเทียบท่าจาก Docker Hub
sudo docker pull morphingdb/morphingdb:1.0หรือสร้างภาพนักเทียบท่า
sudo docker build -t morphingdb .สร้าง Docker Contanier
# abs_morphingdb_test_dir is the absolute path of the morphingdb project directory from https://github.com/MorphingDB/Morphingdb_test/
sudo docker run -d
--name MorphingDB_test
-e POSTGRES_PASSWORD=123456
-v [abs_morphingdb_test_dir]:[abs_morphingdb_test_dir]
-v [data_dir]:/var/lib/postgresql/data
-p [port]:5432
morphingdbป้อน Docker
sudo docker exec -it [contanier id] /bin/bashเชื่อมต่อกับเซิร์ฟเวอร์
psql -p 5432 -d postgres -U postgres -h localhostเปิดใช้งานส่วนขยาย
CREATE EXTENSION pgdl; SELECT create_model(model_name, model_path, base_model, model description);คุณต้องเขียนอินพุตและตัวจัดการเอาท์พุทที่เกี่ยวข้องสำหรับรุ่นที่สร้างขึ้นใน SRC/external_Process และสร้างส่วนขยายสร้างใหม่ทำให้ติดตั้ง
SELECT register_process(); SELECT predict_float([model_name], [ ' cpu ' / ' gpu ' ], [variable_input_column]) from [table];
SELECT predict_text([model_name], [ ' cpu ' / ' gpu ' ], [variable_input_column]) from [table];
ใช้ฟังก์ชั่นหน้าต่างเพื่อเพิ่มความเร็วในการทำนายด้วยขนาดหน้าต่างตัวแปร
SELECT comment,predict_batch_text([model_name], [ ' cpu ' / ' gpu ' ], [variable_input_column]) over (rows between current row and [window_size] following)
AS result
FROM [table];
SELECT comment,predict_batch_float8([model_name], [ ' cpu ' / ' gpu ' ], [variable_input_column]) over (rows between current row and [window_size] following)
AS result
FROM [table]; SELECT image_classification( < column_name > ) as task_result
FROM < table_name >
WHERE < conditions > ;หลังจากนำเข้าโมเดลผู้ใช้สามารถดูข้อมูลโมเดลผ่านตาราง model_info
SELECT * from model_info;
MorphingDB รองรับการจัดเก็บเวกเตอร์รวมถึงการจัดเก็บข้อมูลขนาดเวกเตอร์ ใน MorphingDB ประเภทเวกเตอร์คือ MVEC
create table vec_test (id integer , vec mvec); insert into vec_test values ( 1 , ' [1.0,2.2,3.123,4.2]{4} ' );
insert into vec_test values ( 1 , ' [1.0,2.2,3.123,4.2] ' );
insert into vec_test values ( 1 , ' [1.0,2.2,3.123,4.2]{2,2} ' );
insert into vec_test values ( 1 , ARRAY[ 1 . 0 , 2 . 0 , 3 . 0 , 1 . 2345 ]::float4[]::mvec); select get_mvec_shape(vec) from vec_test;
select get_mvec_data(vec) from vec_test; update vec_test set vec = vec + vec;
update vec_test set vec = vec - text_to_mvec( ' [1,2,3,4] ' );
select * from vec_test where vec == ' [1,2.2,3.123,4.2] ' ;การศึกษาเปรียบเทียบวิธีการอนุมานในระบบ
การเรียนรู้เครือข่ายนโยบายที่ขับเคลื่อนด้วยข้อมูลสำหรับวิศวกรรมคุณลักษณะอัตโนมัติก่อนการฝึกอบรม
คำแนะนำแบบจำลองที่ผ่านการฝึกอบรมมาล่วงหน้าสำหรับการปรับแต่งแบบปลายน้ำ
SmartLite: ระบบการให้บริการที่ใช้ DBMS สำหรับการอนุมาน DNN ในสภาพแวดล้อมที่มีทรัพยากรที่ จำกัด ทรัพยากร