簡體   English   中英

BERT 如何在 windows anaconda 中運行預訓練的 model

[英]BERT how to run pretrained model in windows anaconda

我目前正在從此頁面探索 model,但我不確定如何運行以下代碼

python run_classifier.py 
--task_name=cola 
--do_train=true 
--do_eval=true 
--do_predict=true 
--data_dir=./data/ 
--vocab_file=./cased_L-12_H-768_A-12/vocab.txt 
--bert_config_file=./cased_L-12_H-768_A-12/bert_config.json 
--init_checkpoint=./cased_L-12_H-768_A-12/bert_model.ckpt 
--max_seq_length=400 
--train_batch_size=8 
--learning_rate=2e-5 
--num_train_epochs=3.0 
--output_dir=./bert_output/ 
--do_lower_case=False

我創建了一個文件夾,我從 github 下載了所有代碼。 我在那個文件夾中有文件run_classifier.py

在同一個文件夾中,我創建了文件夾

  • data ,它有 3 個 tsv 文件,如代碼中所述。
  • bert_output ,它是空的
  • cased_L-12_H-768_A-12並且它具有 model 的解壓縮版本。 它有文件bert_config.jsonbert_model.ckptvocab.txt

然后我轉到我的 anaconda 命令提示符並使用cd命令轉到上述文件夾

(C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nnn\Documents\GitHub\bert>python run_classifier.py task_name=cola do_train=true do_eval=true do_predict=true data_dir=./data/ vocab_file=./cased_L-12_H-768_A-12/vocab.txt bert_config_file=./cased_L-12_H-768_A-12/bert_config.json init_checkpoint=./cased_L-12_H-768_A-12/bert_model.ckpt max_seq_length=400 train_batch_size=8 learning_rate=2e-5 num_train_epochs=3.0 output_dir=./bert_output/ do_lower_case=False
Traceback (most recent call last):
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\absl\flags\_flagvalues.py", line 527, in _assert_validators
    validator.verify(self)
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\absl\flags\_validators.py", line 81, in verify
    raise _exceptions.ValidationError(self.message)
absl.flags._exceptions.ValidationError: Flag --data_dir must be specified.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "run_classifier.py", line 981, in <module>
    tf.app.run()
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\tensorflow\python\platform\app.py", line 119, in run
    argv = flags.FLAGS(_sys.argv if argv is None else argv, known_only=True)
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\tensorflow\python\platform\flags.py", line 112, in __call__
    return self.__dict__['__wrapped'].__call__(*args, **kwargs)
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\absl\flags\_flagvalues.py", line 635, in __call__
    self._assert_all_validators()
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\absl\flags\_flagvalues.py", line 509, in _assert_all_validators
    self._assert_validators(all_validators)
  File "C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\absl\flags\_flagvalues.py", line 530, in _assert_validators
    raise _exceptions.IllegalFlagValueError('%s: %s' % (message, str(e)))
absl.flags._exceptions.IllegalFlagValueError: flag --data_dir=None: Flag --data_dir must be specified.
  1. 我應該如何運行它?
  2. 我可以直接從 Spyder 執行嗎?

您只是缺少標志前面的雙破折號( -- ):

python run_classifier.py ^
--task_name=cola ^
--do_train=true ^
--do_eval=true ^
--do_predict=true ^
--data_dir=./data/ ^
--vocab_file=./cased_L-12_H-768_A-12/vocab.txt ^
--bert_config_file=./cased_L-12_H-768_A-12/bert_config.json ^
--init_checkpoint=./cased_L-12_H-768_A-12/bert_model.ckpt ^
--max_seq_length=400 ^
--train_batch_size=8 ^
--learning_rate=2e-5 ^
--num_train_epochs=3.0 ^
--output_dir=./bert_output/ ^
--do_lower_case=False 

(字符^用於在 windows 提示符中表示行繼續,這樣可以使命令的顯示更整潔)

應該可以在 Spyder 中運行它,前提是您在執行腳本 run_classifier.py 時傳遞了run_classifier.py

暫無
暫無

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

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