MorphingDB هو امتداد postgresql لدعم استدلال نموذج التعلم العميق داخل قاعدة البيانات وتخزين المتجهات.
يتيح MorphingDB للمستخدمين استيراد نموذج libtorch وإنشاء استنتاجات باستخدام البيانات من داخل قاعدة البيانات.
يتيح MorphingDB للمستخدمين تخزين بيانات المتجهات بمعلومات أبعاد ، مما يسمح LiBtorCh بالعمل مباشرة مع بيانات المتجهات في قاعدة البيانات ، يمكن للمستخدمين تخزين البيانات مسبقًا في متجهات في قاعدة البيانات لتسريع الاستدلال.
MorphingDB يدعم النموذج الاستدلال المتمركز والمواسير.
dowload zip to morphingdb project path
نموذج UNXIP
unzip models.zip -d ./model/استخدم صورة Docker من Docker Hub
sudo docker pull morphingdb/morphingdb:1.0أو بناء صورة Docker
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 في البيئات المقيدة للموارد