问题1:机器学习PAI使用这个配置,chief和worker训练结束进程都正常退出了,但是chief和worker都报了这个错误日志 ,2023-07-26 16:50:52.772911: E tensorflow/contrib/star/star_workerservice.cc:442] env->rendezvous_mgr->RecvLocalAsync failed, error msg is: [Derived]End of sequence ,我看issue里有人提了这个问题 https://github.com/DeepRec-AI/DeepRec/issues/326,回答是可能用了MonitoredTrainingSession API,我代码里没有用到这个API
问题2:dataset = tf.data.TFRecordDataset(filename)
dataset = dataset.skip(1).map(lambda line: read_tf_record_row(line), num_parallel_calls=tf.data.experimental.AUTOTUNE).batch(batch_size).repeat(num_epochs)
dataset = dataset.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
iterator = dataset.make_one_shot_iterator()
ds = iterator.get_next()
问题1:错误日志 "End of sequence" 和 MonitoredTrainingSession API
根据您提供的信息,您遇到了错误日志 "End of sequence",并且有人在 GitHub 上提到了类似的问题。其中一个回答指出这可能与使用了 MonitoredTrainingSession
API 相关。
然而,您明确表示您的代码中没有使用 MonitoredTrainingSession
API。这种情况下,可能存在其他原因导致该错误。以下是一些可能的原因和解决方法:
版本兼容性问题:请确保您使用的 TensorFlow 版本与相关依赖库和代码兼容。尝试升级或降级 TensorFlow 版本,并确保所有依赖项正确安装。
数据集处理问题:检查数据集的处理过程,包括读取 TFRecord 文件以及后续的数据转换和预处理。确保数据集处理过程中没有发生错误,例如数据不完整或格式不正确。
环境设置和配置:验证您的环境设置和配置是否正确,包括 TensorFlow 的分布式训练配置、网络连接和参数服务器的设置等。确保网络连接稳定,并且各个节点能够正常通信。
如果以上方法仍然无法解决问题,请将更多详细信息提供给我们,例如完整的错误日志、代码片段以及您使用的 TensorFlow 版本和相关依赖库的版本信息,以便我们能够更好地帮助您解决问题。
问题2:关于 TensorFlow 数据集(Dataset)的代码片段
根据您提供的代码片段,这是一个使用 TensorFlow 的 Dataset API 构建输入数据流水线的示例。它将 TFRecord 文件作为输入,并进行跳过一行、映射处理、批量化和重复等操作。
根据您的代码,您使用了 make_one_shot_iterator()
获取迭代器,并使用 iterator.get_next()
获取数据。请注意,tf.data.experimental.AUTOTUNE
用于自动调整缓冲区大小和并行调度的参数。
如果您在使用这段代码时遇到了问题,请提供更具体的错误信息和相关代码,以便我们能够更详细地分析并帮助您解决问题。
回答1:应该是数据读完了退出,estimator应该不会有这个问题,你dataset怎么构造的
回答2:看起来没啥问题,estimator应该会处理这个错误的,有点奇怪。你换成grpc++试一下,此回答整理自钉群“DeepRec用户群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。