I ran this command and this error occurred.
bazel run data:gen_vocab -- \
--output_dir=$IMDB_DATA_DIR \
--dataset=imdb \
--imdb_input_dir=/tmp/aclImdb \
--lowercase=False
INFO: Analysed target //research/adversarial_text/data:gen_vocab (0 packages loaded).
INFO: Found 1 target...
Target //research/adversarial_text/data:gen_vocab up-to-date:
bazel-bin/research/adversarial_text/data/gen_vocab
INFO: Elapsed time: 0.228s, Critical Path: 0.00s
INFO: Build completed successfully, 1 total action
INFO: Running command line: bazel-bin/research/adversarial_text/data/gen_vocab '--output_dir=/tmp/imdb' '--dataset=imdb' '--imdb_input_dir=/tmp/aclImdb' '--lowercase=False'
INFO:tensorflow:Generating IMDB documents...
Traceback (most recent call last):
File "/data/dev/.cache/bazel/_bazel_dev/19900c281290726a37ef4611fefdbba6/execroot/__main__/bazel-out/k8-fastbuild/bin/research/adversarial_text/data/gen_vocab.runfiles/__main__/research/adversarial_text/data/gen_vocab.py", line 100, in
tf.app.run()
File "/home/dev/anaconda3/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "/data/dev/.cache/bazel/_bazel_dev/19900c281290726a37ef4611fefdbba6/execroot/__main__/bazel-out/k8-fastbuild/bin/research/adversarial_text/data/gen_vocab.runfiles/__main__/research/adversarial_text/data/gen_vocab.py", line 82, in main
vocab_freqs = dict((term, freq) for term, freq in vocab_freqs.iteritems()
AttributeError: 'collections.defaultdict' object has no attribute 'iteritems'
ERROR: Non-zero return code '1' from command: Process exited with status 1
Use "vocab_freqs.items()" instead, if you are using Python3.
Does this solve your issue @tanaka-jp ?
Yes.
I changed the line from
vocab_freqs.iteritems()
to
vocab_freqs.items()
And it worked.
Thank you very much
Use "vocab_freqs.items()" instead, if you are using Python3.
python 2 : xrange ---->python3 : range
iteritems ---> items
no tuple in function paras -----> use a variable to replace
Most helpful comment
Use "vocab_freqs.items()" instead, if you are using Python3.