🚀 Testen Sie Zilliz Cloud, die vollständig verwaltete Milvus, kostenlos – erleben Sie 10x schnellere Leistung! Jetzt testen>>

milvus-logo
LFAI

HomeBlogsEinrichten von Milvus in Google Colaboratory zur einfachen Erstellung von ML-Anwendungen

Einrichten von Milvus in Google Colaboratory zur einfachen Erstellung von ML-Anwendungen

  • Engineering
December 23, 2020
milvus

Der technologische Fortschritt macht künstliche Intelligenz (KI) und maschinelle Analysen immer zugänglicher und einfacher zu nutzen. Die Verbreitung von Open-Source-Software, öffentlichen Datensätzen und anderen kostenlosen Tools sind die Hauptantriebskräfte dieses Trends. Durch die Kombination von zwei kostenlosen Ressourcen, Milvus und Google Colaboratory (kurz "Colab"), kann jeder leistungsstarke, flexible KI- und Datenanalyselösungen erstellen. Dieser Artikel enthält Anleitungen zur Einrichtung von Milvus in Colab sowie zur Durchführung grundlegender Operationen mit dem Python Software Development Kit (SDK).

Springe zu:

Was ist Milvus?

Milvus ist eine Open-Source-Suchmaschine für Vektorähnlichkeit, die mit weit verbreiteten Indexbibliotheken wie Faiss, NMSLIB und Annoy integriert werden kann. Die Plattform umfasst auch eine umfassende Reihe von intuitiven APIs. Durch die Verknüpfung von Milvus mit Modellen der künstlichen Intelligenz (KI) kann eine Vielzahl von Anwendungen erstellt werden, darunter:

  • Bild-, Video-, Audio- und semantische Textsuchmaschinen.
  • Empfehlungssysteme und Chatbots.
  • Entwicklung neuer Medikamente, genetisches Screening und andere biomedizinische Anwendungen.

Was ist Google Colaboratory?

Google Colaboratory ist ein Produkt des Google Research-Teams, das es jedem ermöglicht, Python-Code über einen Webbrowser zu schreiben und auszuführen. Colab wurde speziell für Anwendungen im Bereich des maschinellen Lernens und der Datenanalyse entwickelt, bietet eine kostenlose Jupyter-Notebook-Umgebung, synchronisiert sich mit Google Drive und bietet Nutzern Zugang zu leistungsstarken Cloud-Computing-Ressourcen (einschließlich GPUs). Die Plattform unterstützt viele beliebte Bibliotheken für maschinelles Lernen und kann mit PyTorch, TensorFlow, Keras und OpenCV integriert werden.

Erste Schritte mit Milvus im Google Colaboratory

Obwohl Milvus die Verwendung von Docker für die Installation und den Start des Dienstes empfiehlt, unterstützt die aktuelle Google Colab Cloud-Umgebung die Installation von Docker nicht. Außerdem soll dieses Tutorial so zugänglich wie möglich sein - und nicht jeder verwendet Docker. Installieren und starten Sie das System, indem Sie den Quellcode von Milvus kompilieren, um die Verwendung von Docker zu vermeiden.

Laden Sie den Quellcode von Milvus herunter und erstellen Sie ein neues Notizbuch in Colab

Auf Google Colab ist die gesamte unterstützende Software für Milvus vorinstalliert, einschließlich der erforderlichen Kompilierungswerkzeuge GCC, CMake und Git sowie der CUDA- und NVIDIA-Treiber, was den Installations- und Einrichtungsprozess für Milvus vereinfacht. Um zu beginnen, laden Sie den Quellcode von Milvus herunter und erstellen Sie ein neues Notizbuch in Google Colab:

  1. Laden Sie den Quellcode von Milvus herunter: Milvus_Anleitung.ipynb.

Wget https://raw.githubusercontent.com/milvus-io/bootcamp/0.10.0/getting_started/basics/milvus_tutorial/Milvus_tutorial.ipynb

  1. Laden Sie den Quellcode von Milvus in Google Colab hoch und erstellen Sie ein neues Notizbuch.

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_2.png Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_2.png

Kompilieren Sie Milvus aus dem Quellcode

Milvus-Quellcode herunterladen

git clone -b 0.10.3 https://github.com/milvus-io/milvus.git

Abhängigkeiten installieren

% cd /content/milvus/core ./ubuntu_build_deps.sh./ubuntu_build_deps.sh

Milvus-Quellcode erstellen

% cd /content/milvus/core
!ls
!./build.sh -t Release
# To build GPU version, add -g option, and switch the notebook settings with GPU
#((Edit -> Notebook settings -> select GPU))
# !./build.sh -t Release -g

Hinweis: Wenn die GPU-Version korrekt kompiliert wurde, erscheint die Meldung "GPU resources ENABLED!

Milvus-Server starten

Fügen Sie das Verzeichnis lib/ zum LD_LIBRARY_PATH hinzu:

% cd /content/milvus/core/milvus
! echo $LD_LIBRARY_PATH
import os
os.environ['LD_LIBRARY_PATH'] +=":/content/milvus/core/milvus/lib"
! echo $LD_LIBRARY_PATH

Starten Sie den Milvus-Server und lassen Sie ihn im Hintergrund laufen:

% cd scripts
! ls
! nohup ./start_server.sh &

Milvus-Server-Status anzeigen:

! ls
! cat nohup.out

Hinweis: Wenn der Milvus-Server erfolgreich gestartet wurde, erscheint die folgende Aufforderung:

Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_3.png Blog_Set Up Milvus in Google Colaboratory for Easy ML Application Building_3.png

Ausführen grundlegender Milvus-Operationen in Google Colab mit Python

Nach dem erfolgreichen Start in Google Colab kann Milvus eine Vielzahl von API-Schnittstellen für Python, Java, Go, Restful und C++ bereitstellen. Im Folgenden finden Sie Anweisungen zur Verwendung der Python-Schnittstelle, um grundlegende Milvus-Operationen in Colab durchzuführen.

Installieren Sie pymilvus:

! pip install pymilvus==0.2.14

Verbinden Sie sich mit dem Server:

# Connect to Milvus Server
milvus = Milvus(_HOST, _PORT)


# Return the status of the Milvus server.
server_status = milvus.server_status(timeout=10)

Erstellen Sie eine Sammlung/Partition/Index:

# Information needed to create a collection
param={'collection_name':collection_name, 'dimension': _DIM, 'index_file_size': _INDEX_FILE_SIZE, 'metric_type': MetricType.L2}

# Create a collection.
milvus.create_collection(param, timeout=10)

# Create a partition for a collection.
milvus.create_partition(collection_name=collection_name, partition_tag=partition_tag, timeout=10)
ivf_param = {'nlist': 16384}

# Create index for a collection.
milvus.create_index(collection_name=collection_name, index_type=IndexType.IVF_FLAT, params=ivf_param)

Einfügen und flushen:

# Insert vectors to a collection.
milvus.insert(collection_name=collection_name, records=vectors, ids=ids)

# Flush vector data in one collection or multiple collections to disk.
milvus.flush(collection_name_array=[collection_name], timeout=None)
# Load a collection for caching.
milvus.load_collection(collection_name=collection_name, timeout=None)

# Search vectors in a collection.
search_param = { "nprobe": 16 }
milvus.search(collection_name=collection_name,query_records=[vectors[0]],partition_tags=None,top_k=10,params=search_param)

Sammlungs-/Index-Informationen abrufen:

# Return information of a collection.    milvus.get_collection_info(collection_name=collection_name, timeout=10)

# Show index information of a collection.    milvus.get_index_info(collection_name=collection_name, timeout=10)

Vektoren nach ID abrufen:

# List the ids in segment
# you can get the segment_name list by get_collection_stats() function.
milvus.list_id_in_segment(collection_name =collection_name, segment_name='1600328539015368000', timeout=None)

# Return raw vectors according to ids, and you can get the ids list by list_id_in_segment() function.
milvus.get_entity_by_id(collection_name=collection_name, ids=[0], timeout=None)

Parameter abrufen/einstellen:

# Get Milvus configurations.    milvus.get_config(parent_key='cache', child_key='cache_size')

# Set Milvus configurations.    milvus.set_config(parent_key='cache', child_key='cache_size', value='5G')

Index/Vektoren/Partition/Sammlung löschen:

# Remove an index.    milvus.drop_index(collection_name=collection_name, timeout=None)

# Delete vectors in a collection by vector ID.
# id_array (list[int]) -- list of vector id    milvus.delete_entity_by_id(collection_name=collection_name, id_array=[0], timeout=None)

# Delete a partition in a collection.    milvus.drop_partition(collection_name=collection_name, partition_tag=partition_tag, timeout=None)

# Delete a collection by name.    milvus.drop_collection(collection_name=collection_name, timeout=10)


Milvus und Google Colaboratory arbeiten hervorragend zusammen

Google Colaboratory ist ein kostenloser und intuitiver Cloud-Service, der die Kompilierung von Milvus aus dem Quellcode und die Ausführung grundlegender Python-Operationen erheblich vereinfacht. Beide Ressourcen können von jedermann genutzt werden, wodurch KI und maschinelles Lernen für jedermann zugänglich werden. Weitere Informationen über Milvus finden Sie in den folgenden Ressourcen:

  • Weitere Tutorials zu einer Vielzahl von Anwendungen finden Sie unter Milvus Bootcamp.
  • Entwickler, die Beiträge leisten oder das System nutzen möchten, finden Milvus auf GitHub.
  • Weitere Informationen über das Unternehmen, das Milvus ins Leben gerufen hat, finden Sie unter Zilliz.com.

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Weiterlesen