Python 运行Systemml时出错,无法导入imap

Python 运行Systemml时出错,无法导入imap,python,pyspark,systemml,Python,Pyspark,Systemml,您好,我正试图在IBMcloud中使用systemml进行keras并行化,但当我运行代码时: sysml_model = Keras2DML(spark, keras_Model, input_shape=(1,1), weights='weights_dir', batch_size=batch_size, max_iter=max_iter, test_interval=0, display=10) 我犯了错误,你能帮我解决一下吗: <ipython-input-20-772087

您好,我正试图在IBMcloud中使用systemml进行keras并行化,但当我运行代码时:

sysml_model = Keras2DML(spark, keras_Model, input_shape=(1,1), weights='weights_dir', batch_size=batch_size, max_iter=max_iter, test_interval=0, display=10)
我犯了错误,你能帮我解决一下吗:

<ipython-input-20-772087af6a08> in <module>()
      4 samples = train.count()
      5 max_iter = int(epochs*math.ceil(samples/batch_size))
----> 6 sysml_model = Keras2DML(spark, keras_Model, input_shape=(1,1), weights='weights_dir', batch_size=batch_size, max_iter=max_iter, test_interval=0, display=10)
      7 sysml_model.fit(train[1], train[3])

/home/spark/shared/user-libs/python3.6/systemml/mllearn/estimators.py in __init__(self, sparkSession, keras_model, input_shape, transferUsingDF, load_keras_weights, weights, labels, batch_size, max_iter, test_iter, test_interval, display, lr_policy, weight_decay, regularization_type)
   1033         regularization_type: regularization type (default: "L2")
   1034         """
-> 1035         from .keras2caffe import convertKerasToCaffeNetwork, convertKerasToCaffeSolver, convertKerasToSystemMLModel
   1036         import tempfile, keras
   1037         if keras.backend.image_data_format() != 'channels_first':

/home/spark/shared/user-libs/python3.6/systemml/mllearn/keras2caffe.py in <module>()
     26 import os
     27 import math
---> 28 from itertools import chain, imap
     29 from ..converters import *
     30 from ..classloader import *

ImportError: cannot import name 'imap'
() 4个样本=序列计数() 5 max_iter=int(历代*math.ceil(样本/批次大小)) ---->6 sysml\u model=Keras2DML(spark,keras\u model,input\u shape=(1,1),weights='weights\u dir',batch\u size=batch\u size,max\u iter=max\u iter,test\u interval=0,display=10) 7 sysml_模型拟合(第[1]列、第[3]列) /home/spark/shared/user libs/python3.6/systemml/mllearn/estimators.py in_uuu_uinit_uu(自、sparkSession、keras_模型、输入_形状、传输DF、加载_uKeras_权重、权重、标签、批量大小、最大值、测试_uiter、测试间隔、显示、lr_u策略、权重衰减、正则化_u类型) 1033正则化类型:正则化类型(默认值:“L2”) 1034 """ ->1035来自.keras2cafe导入转换器kerastocaffenetwork,转换器kerastocaffesolver,转换器kerastosystemmlmodel 1036导入临时文件,keras 1037如果keras.backend.image\u data\u format()!=“频道优先”: /home/spark/shared/user libs/python3.6/systemml/mllearn/keras2caffe.py in() 26导入操作系统 27导入数学 --->28来自itertools进口链,imap 29从…进口* 30从..类加载器导入* ImportError:无法导入名称“imap”
imap不再出现在Python 3的itertools模块中。您需要做的是使用Python 3内置的2to3包。因此,您只需在终端中执行
2to3 estimators.py
。这将显示您需要对estimators.py文件所做的所有更改,以使其与Python 3兼容。如果如果您想将所有这些更改写入文件,只需执行
2to3-w estimators.py

imap不再存在于Python 3的itertools模块中。您需要做的是使用Python 3内置的2to3包。因此,您只需在终端中执行
2to3 estimators.py
您需要对estimators.py文件进行更改,以使其与Python 3兼容。如果您想将所有这些更改写入该文件,只需执行
2to3-w estimators.py

我也面临同样的问题。似乎SystemML与Python3尚不兼容。imap是py2函数。我甚至尝试安装SystemML 1.3.0。不行。有没有办法忽略代码中的警告?或者强制使用map?如果您发现了,请告诉我。我编辑了引发错误的脚本文件,并将导入行替换为:which修复了此问题。但随后在SystemML中遇到了其他Py3不兼容的问题。我面临着同样的问题。SystemML似乎还与Python3不兼容.imap是py2函数。我甚至尝试过安装systemml 1.3.0。不行。有没有办法忽略代码中的此警告?或者强制使用map?如果您发现了,请告诉我。我编辑了引发错误的脚本文件,并将导入行替换为:解决了此问题。但随后在systemml中遇到了其他Py3不兼容问题。