User-Defined Function#

User-defined functions (UDFs) allow us to combine SQL with deep learning models. These functions wrap around deep learning models.

Here is an illustrative UDF for classifying MNIST images.

!wget -nc https://raw.githubusercontent.com/georgia-tech-db/eva/master/evadb/udfs/mnist_image_classifier.py
cursor.execute("""DROP UDF IF EXISTS MnistImageClassifier;""")
response = cursor.df()
print(response)

cursor.create_udf("MnistImageClassifier", True, 'mnist_image_classifier.py')
response = cursor.df()
print(response)

Run a query using the newly registered UDF!#

query = cursor.table("MNISTVid")
query = query.filter("id = 30 OR id = 50 OR id = 70")
query = query.select("data, MnistImageClassifier(data).label")
response = query.df()