我们为什么这么做
在 Squarespace,我们拥有各种各样的客户,他们的目标也各不相同,网站也更加多样化。我们的平台托管着几乎所有东西的网站,从 手工辣酱到塔斯马尼亚市场, 再到Aaron Carter。然而,如此惊人的多样性也给开发用于如此多不同用例的工具带来了挑战。我们如何熟悉如此广泛的客户,为他们打造所需的产品?
我们决定构建一个内部搜索引擎来浏览所有客户网站。我们本可以使用传统的文本搜索,但许多 Squarespace 网站都注重视觉效果,包含大量图片和照片。如果我们只使用文本进行搜索,就会错过许多 Squarespace 网站 萨尔瓦多 whatsapp 号码数据 5 万 的关键视觉和风格特征。
因此,我们采用了视觉搜索引擎,它可以找到美学上相似的网站,甚至搜索特定的视觉风格。
我们将构建视觉搜索引擎的过程分为三个步骤:
获取要搜索的数据
训练机器学习模型,使我们的数据可搜索
建立搜索索引
数据

对于我们的数据集,我们选择关注网站首页的屏幕截图,因为它比网站上的其他页面更有可能具有动态内容。
为了获取屏幕截图,我们求助于我们值得信赖的朋友ImageMagick。我们启动了一个命令行 Chrome 实例来访问每个网站,ImageMagick 对该网站的首页进行了 1,300 像素 × 900 像素 × 3 色屏幕截图。原始数据集大约有 250 GB。
对于我们模型的第一个版本,我们决定将图像缩小到 64 × 64 × 3。全尺寸原始图像有点太大,无法轻松输入 GPU。每张原始图像都是 14.04 兆字节的未压缩数据(1,300 像素 × 900 像素 × 3 种颜色 × 每个浮点数 32 位)。较小的尺寸只有 49.15 千字节(64 像素 × 64 像素 × 3 种颜色 × 32 位),让我们能够使用更大的小批量数据更快地训练我们的模型。