ashvardanian / SimSIMD

Up to 200x Faster Inner Products and Vector Similarity — for Python, JavaScript, Rust, C, and Swift, supporting f64, f32, f16 real & complex, i8, and binary vectors using SIMD for both x86 AVX2 & AVX-512 and Arm NEON & SVE 📐
https://ashvardanian.com/posts/simsimd-faster-scipy/
Apache License 2.0
797 stars 42 forks source link

AttributeError: module 'SimSIMD' has no attribute 'cosine' #96

Closed wl1320310292 closed 3 months ago

wl1320310292 commented 4 months ago

When I run the provided example I get the following error,AttributeError: module 'SimSIMD' has no attribute 'cosine',

import simsimd
import numpy as np

vec1 = np.random.randn(1536).astype(np.float32)
vec2 = np.random.randn(1536).astype(np.float32)
dist = simsimd.cosine(vec1, vec2)

I installed simsimd using pip, but I can only install 1.4.0. When I specified to install version 3.9.0, the following error occurred:ERROR: Could not find a version that satisfies the requirement simsimd==3.9.0 (from versions: 1.1.2, 1.2.0, 1.3.0, 1.4.0) ERROR: No matching distribution found for simsimd==3.9.0

ashvardanian commented 4 months ago

Hi @wl1320310292! What hardware and OS are you running on?

wl1320310292 commented 4 months ago

NAME="Ubuntu" VERSION="18.04.6 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.6 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

These are some system tags my system has permitted: cp310-cp310-manylinux_2_27_x86_64 cp310-cp310-manylinux_2_26_x86_64 cp310-cp310-manylinux_2_25_x86_64 cp310-cp310-manylinux_2_24_x86_64 cp310-cp310-manylinux_2_23_x86_64 cp310-cp310-manylinux_2_22_x86_64 cp310-cp310-manylinux_2_21_x86_64 cp310-cp310-manylinux_2_20_x86_64 cp310-cp310-manylinux_2_19_x86_64 cp310-cp310-manylinux_2_18_x86_64 cp310-cp310-manylinux_2_17_x86_64 cp310-cp310-manylinux2014_x86_64 cp310-cp310-manylinux_2_16_x86_64 cp310-cp310-manylinux_2_15_x86_64 cp310-cp310-manylinux_2_14_x86_64 cp310-cp310-manylinux_2_13_x86_64 cp310-cp310-manylinux_2_12_x86_64 cp310-cp310-manylinux2010_x86_64 cp310-cp310-manylinux_2_11_x86_64 cp310-cp310-manylinux_2_10_x86_64 cp310-cp310-manylinux_2_9_x86_64 cp310-cp310-manylinux_2_8_x86_64 cp310-cp310-manylinux_2_7_x86_64 cp310-cp310-manylinux_2_6_x86_64 cp310-cp310-manylinux_2_5_x86_64 cp310-cp310-manylinux1_x86_64 cp310-cp310-linux_x86_64

ashvardanian commented 4 months ago

Ouch! Your newest is manylinux 2.27. I currently upload 2.28 for Python 3.10: https://pypi.org/project/simsimd/

Using an older base image would make the CI much longer, as we prefer to use recent compilers. Any chance you were planning to switch to a newer Linux distro? It will likely result in performance improvement across all kinds of workloads.

wl1320310292 commented 4 months ago

I don't use the server alone, so I'm afraid I won't be able to upgrade the system in a short time.

ashvardanian commented 4 months ago

Do you ever use Docker images? That would solve the issue.

wl1320310292 commented 4 months ago

yes,i'm considering using docker