Библиотека типа bert.cpp, я собираю ее на своем компьютере (ubuntu22.04-gcc11), она работает нормально. Но когда я собираю его в контейнере докера (geosx/ubuntu22.04-gcc11:261-544 или другие), возникает ошибка сегментации. Код Python, например bert.cpp/examples/sample_dylib.py. Меня смущает, работает ли динамическая библиотека в контейнере, отличном от обычного компьютера, и как я могу заставить ее работать в контейнере докеров.
Подход может сделать динамическую библиотеку .so работает нормально.
Пример:
Код: Выделить всё
FROM geosx/ubuntu22.04-gcc11:261-544
RUN apt-get install -y python3.10
# Rust install
RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
RUN apt-get update && apt-get install cmake=3.22.1-1ubuntu1.22.04.2 -y
RUN git clone [email protected]:EeyoreLee/bert.cpp.git && \
cd bert.cpp && \
git submodule update --init --recursive &&\
mkdir build && \
cd build && \
cmake .. && \
make
RUN python3 bert.cpp/examples/sample_dylib.py
файл .ggml и tokenizer.json могут использовать bert.cpp/scripts/sample_dylib.py и bert.cpp/scripts/generate_tokenizer_json .py для создания. Возможно, вам придется сначала загрузить модель классификации HF-токсических веществ, а затем преобразовать ее с помощью приведенного выше сценария.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... tion-fault