I’m studying a lesson out of my “Python Machine Learning” book. This lesson involves TensorFlow and the pyprind version of a progress bar. My platform: Windows10, Python 3.7, Atom 1.45.0, Script 3.25.0, and pyprind 2.11.2. Having read many of the posts related to progress bar (and testing various solutions,) I think somethings not set correctly, or perhaps my expectation is wrong. Based on the pyprind documentation I thought there’d be a single, progressive update at the bottom of my output pane. Thus:
Instead, my script will run and burp a sequence of progress bars (all at once) like this instead of the singular bar above:
Here’s my relevant code snippet. The ProgBar parameters “monitor and stream” produce the second graphic; within the Jupyter Notebook these two parameters can be omitted. Note that I’ve tried 1, 2 also for stream parameter values:
# Create a new progress bar object pbar = pyprind.ProgBar(len(df['review']), title='Counting word occurances...', monitor=False, stream=sys.stdout) # Iterate through the records for i,review in enumerate(df['review']): text = ''.join([c if c not in punctuation else ' ' + c + ' ' for c in review]).lower() df.loc[i, 'review'] = text pbar.update() counts.update(text.split())
When I copy the script into a Jupyter Notebook the progress bar behaves as intended. I also tried the tqdm-gui version, and it’s ‘external window’ progress bar (which worked OK,) but the in-console type of progress bar has eluded me. Since the code works correctly in the Notebook, I’m thinking the cause is on my Atom editor’s side. I’ve looked through the settings for the Script package and through Atom’s menu/settings but haven’t found the correction yet.
Might someone provide some insight? I’d sure like to see what my status is when my code is grinding-through a looonnnng process.
Thanks very much in advance,