我在谷歌人工智能平台上运行一个tensorflow作业。模型训练好后我想保存模型历史归档。因为我需要写一个云存储桶,所以我使用tf.io.write\文件. 我尝试了以下方法:
hist=mymodel.fit(training_dataset_input,epochs=num_epochs,steps_per_epoch=int(training_samples/batch_size),validation_data=validation_dataset_input,validation_steps=1,verbose=1,callbacks[mycallbacks,tensorboard_cb,csv_logger])
tf.io.write_file(gs://<nameofbucket>/<nameoffile>,hist.history)
我收到以下错误消息:
ValueError: Attempt to convert a value ({'loss': [355.3313500958558, 313.9355358472616], 'mean_squared_error': [355.3312, 313.93536], 'find_rms': [14.733875, 13.815437], 'val_loss': [292.5752868652344, 270.8216857910156], 'val_mean_squared_error': [292.5753, 270.8217], 'val_find_rms': [13.506351, 12.935535]}) with an unsupported type (<class 'dict'>) to a Tensor.
看起来hist.history
是一个字典,字符串作为键,列表作为值。如何以正确的格式获取hist.history
,以便使用tf.io.write_file
将其写入文件?你知道吗
The docs假设arg'contents'应该是string类型的张量。标量。你知道吗
我可以想到以下几点: 如果您只想用TF库存储您的历史,并且之后不再执行任何处理,那么可以使用json.dumps文件从dict中获取一个字符串并保存它。你知道吗
另一方面,您可以使用Python Store objects to GCS Buckets via API,因此不需要额外的处理。你知道吗
谢谢你的回答。我找到了你的答案。为了将任何字符串写入文件并按我喜欢的格式格式化,我可以使用:
它还起到了以下作用:
我需要将整个历史对象转换为一个字符串,因为它包含浮点数。你知道吗
您可以尝试使用this将字典转换为列表,然后保存它(this can help)。你知道吗
如果您想方便地可视化保存的数据,可以将其保存为csv(this can help)。你知道吗
希望它能适合你的问题!你知道吗
相关问题 更多 >
编程相关推荐