[LAB 12 · CLIP延伸:缓存与检索(近似索引选读)](/course/notebooks/921eeaf784284ce19568c6ca7619b55a.html) # LAB 12 · CLIP延伸:缓存与检索(近似索引选读) · 实现代码 [独立阅读](/course/notebook-blocks/4e6be52d45e84175a6f134439b154cd8.html) 并入相关学习路径 同一CLIP缓存、exact/IVF搜索、延迟/扫描量、区域交互基线 展开完整实现代码 ``` # 每次整册运行使用临时工作目录,保留项目旧文件与历史结果。 import os, tempfile L03_RUN_DIR=tempfile.mkdtemp(prefix="lecture03-lab12-") os.chdir(L03_RUN_DIR) import numpy as np I=np.array([[1,0],[0,1],[.8,.2]],float); T=np.array([[1,0],[0,1]],float); I/=np.linalg.norm(I,axis=1,keepdims=True); T/=np.linalg.norm(T,axis=1,keepdims=True) S=T@I.T; print('similarity\n',S.round(3)); ranks=np.argsort(-S,axis=1); truth=[0,1] for k in [1,2]: print('Recall@'+str(k),np.mean([truth[i] in ranks[i,:k] for i in range(2)])) ```