簡體   English   中英

錯誤“NameError:未定義名稱‘logdir’”

[英]Error "NameError: name 'logdir' is not defined"

作為初學者,我正在學習 tensorflow 網站上的教程。 在回歸部分,我收到以下錯誤

命令: size_history['Tiny'] = compile_and_fit(tiny_model,'sizes/Tiny')

錯誤:

NameError:未定義名稱“logdir”

我真的很感激任何幫助。

完整的錯誤信息在這里:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-29-6b42ade0df41> in <module>
----> 1 size_histories['Small'] = compile_and_fit(small_model, 'sizes/Small')

<ipython-input-20-37c172377a6c> in compile_and_fit(model, name, optimizer, max_epochs)
     16     epochs=max_epochs,
     17     validation_data=validate_ds,
---> 18     callbacks=get_callbacks(name),
     19     verbose=0)
     20   return history

<ipython-input-19-1fd695b661fd> in get_callbacks(name)
      3     tfdocs.modeling.EpochDots(),
      4     tf.keras.callbacks.EarlyStopping(monitor='val_binary_crossentropy', patience=200),
----> 5     tf.keras.callbacks.TensorBoard(logdir/name),
      6   ]

NameError: name 'logdir' is not defined

因此,通過谷歌搜索"compile_and_fit" "tiny_model" logdir我發現您遵循的教程必須是https://www.tensorflow.org/tutorials/keras/overfit_and_underfit

正如回溯告訴您的那樣, compile_and_fit()調用get_callbacks() ,后者又使用變量logdir logdir沒有直接作為參數傳遞給get_callbacks() ,也沒有在函數內部的任何地方定義。 因此, get_callbacks()到達該行,看到名稱logdir ,未能在其局部變量中找到該名稱的任何內容,因此嘗試訪問該名稱的全局變量。 但是 Python 抱怨根本不存在這個名稱,甚至不存在全局變量——所以我猜你一定跳過了教程的前面部分,在那里你會設置那個全局變量:

logdir = pathlib.Path(tempfile.mkdtemp())/"tensorboard_logs"
shutil.rmtree(logdir, ignore_errors=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM