train.py ibm watson 检索和排名服务设置错误

train.py error in ibm watson retrieve and rank service setup

我正在关注 retrieve and rank tutorial,在 train.py 脚本之前一切正常 - 我收到错误消息“ValueError:无法解码 JSON 对象"

我的带有屏蔽信用的命令行:

python ./train.py -u "zzzz":"ssss" -i /Users/nik/Downloads/cranfield_gt.csv -c "zzzz" -x example_collection -n "example_ranker"

结果:

    Input file is /Users/nik/Downloads/cranfield_gt.csv
Solr cluster is zzzz
Solr collection is example_collection
Ranker name is example_ranker
Rows per query 10
Generating training data...
Command:
curl -k -s  -u zzzz:ssss -d "q=what similarity laws must be obeyed when constructing aeroelastic models of heated high speed aircraft.&gt=184,3,29,3,31,3,12,2,51,2,102,2,13,1,14,1,15,1,57,3,378,3,859,3,185,2,30,2,37,2,52,1,142,1,195,1,875,3,56,2,66,2,95,2,462,1,497,2,858,2,876,2,879,2,880,2,486,0&generateHeader=true&rows=10&returnRSInput=true&wt=json" "https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/zzzz/solr/example_collection/fcselect"
Response:

Traceback (most recent call last):
  File "./train.py", line 88, in <module>
    parsed_json = json.loads(output)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

为什么我会收到此错误以及最重要的是如何解决它?

谢谢, 尼克

好吧,这是深夜经历之一..我确信我确实上传了我的 cranfield_data.json 文件,但今天检查显示我没有。 今天运行脚本再次上传,看到确认是关键。

之后我重复了 train.py 并且一切正常!

我希望这对其他人也有帮助。

顺便说一句,就在第一次上传之前,我尝试更新并重新编译 curl。貌似我没有配置成使用https,估计是我第一次执行curl上传cranfield_data.json的时候没注意。 今天我看到错误 "protocol "https“不受支持”,这帮助我了解了之前发生的事情。在我的 mac 上恢复原来的卷曲解决了这个问题。