gpt4 book ai didi

google-cloud-platform - 在 Google Cloud BigQuery 中存储句子嵌入

转载 作者:行者123 更新时间:2023-12-03 20:38:54 25 4
gpt4 key购买 nike

我正在寻找一种在 Google 的 BigQuery 中存储由语言模型(如(T5))生成的嵌入的方法。
嵌入采用 Numpy 数组或张量的形式。
我发现了 3 种方法:

  • TFRecord,写入TFRecord文件并存储到云存储
  • 将 numpy 数组转换为字符串并作为字符串列存储在表中
  • 存储到模式为 REPEAT 的列。 (不确定这样是否可以保留嵌入向量条目的顺序)

  • 希望任何人都可以提供一些建议或其他方法。
    非常感谢

    最佳答案

    我使用以下方法序列化嵌入:

    s = sentence1_embeddings.tobytes()
    得到类似的东西:
    b'\xd0\x8b0?\xd4\xdf\xae\xbe\xccA\'=\x94\xc53>2\xb3\x14?\xb6\xcb\xac\xbeN\x13\\?AV\xa0\xbe\x07\xb7\x8b\xbf<\xf1\x02?\xc5\x10\x19=u\x8ad\xbf\xd9\x93-
    然后我创建一个数据框,并将 df 上传到 BQ:
    df = pd.DataFrame({'a':[s]})
    df.to_gbq('ds_test.table_test', project_id='experiment',if_exists='replace')
    然后我使用以下方法读回字节:
    查询 = """
    选择一个
    发件人 s_test.table_test"""
    打印字符串 data['a'][0] 时
    数据['a'][0]
    'b\'\\xd0\\x8b0?\\xd4\\xdf\\xae\\xbe\\xccA\\\'=\\x94\\xc53>2\\xb3\\x14?\\xb6\\xcb\\xac\\xbeN\\x13\\\\?AV\\xa0\\xbe\\x07\\xb7\\x8b\\xbf<\\xf1\\x02?\\xc5\\x10\\x19=u\\x8ad\\xbf\\xd9\\x93-\\xbf;q+>\\xa3e\\x92\\xbf\\xcf\\x93\\xcd\\xbd\\xf4\\xa2/>\\x1f{2?9p\\xca=\\x8c\\xc66\\xbe4\
    看起来与原始字节不同(更多反斜杠)
    当尝试转换回 numpy 数组时:
    np.frombuffer(data['a'][0], dtype=sentence1_embeddings.dtype)
    我收到错误:
    TypeError: a bytes-like object is required, not 'str'

    关于google-cloud-platform - 在 Google Cloud BigQuery 中存储句子嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67828917/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com