机器学习PAI 负采样表在easyrec/graphlearn下,读的中文都是byte格式怎么办?

机器学习PAI 负采样表在easyrec/graphlearn下,读的中文都是byte格式怎么办?
用np.chararray.decode(feature),又报typeerror

展开
收起
真的很搞笑 2023-08-08 19:39:27 102 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    如果你在使用机器学习PAI的EasyRec中遇到负采样表中的中文数据以字节格式(byte format)呈现,并且在尝试使用np.chararray.decode()函数解码时出现TypeError,请注意以下几点:

    np.chararray.decode()函数适用于NumPy数组(np.chararray)中的字符串解码,而不是普通的Python字节串(bytes)。如果你的中文数据以字节格式表示,你需要先将其转换为Python字符串对象,然后再进行解码。

    python
    Copy

    假设 feature 是字节格式的中文数据

    feature_str = feature.decode('utf-8') # 将字节串转换为字符串对象
    decoded_feature = np.chararray.decode(np.array([feature_str]))
    ```

    这样,你可以先将字节格式的中文数据转换为字符串对象,然后再进行解码操作。

    如果你的负采样表中的中文数据以字节格式存储,你可能需要查看数据存储和读取的过程,确保数据在读取时以正确的编码方式进行解析。尽量使用与数据存储时相同的编码方式来读取数据,以避免乱码或解码错误。

    另外,如果你的数据存储在MaxCompute表中,可以通过在MaxCompute的创建表语句中指定字符集来确保正确的编码解析。例如,使用CHARSET utf8来指定UTF-8编码。

    2023-08-13 21:22:30
    赞同 展开评论
  • graph sage的id必须是bigint,不能是string,此回答整理自钉群“【EasyRec】推荐算法交流群”

    2023-08-09 07:57:29
    赞同 展开评论

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

还有其他疑问?
咨询AI助理