Python 如何在windows anaconda中运行预训练模型

Python 如何在windows anaconda中运行预训练模型,python,windows,anaconda,spyder,Python,Windows,Anaconda,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

我目前正在探索的模型,我不知道如何运行下面的代码

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\u classifier.py

在同一个文件夹中,我创建了多个文件夹

  • 数据
    ,它有代码中提到的3个tsv文件
  • bert\u输出
    且为空
  • cased_L-12_H-768_A-12
    并且它已经解压了模型的版本。 它有文件
    bert配置.json
    bert.ck pt
    vocab.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.
(C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder)C:\Users\nnn\Documents\GitHub\bert>python run\u classifier.py task\u name=cola do\u train=true do\u eval=true do\u predict=true data\u dir=/data/vocab\u文件=/cased\u L-12\u H-768\u A-12/vocab.bert配置文件=/cased\u L-12\u-H-768\u-12\u-12/bert配置文件=/cased\u-H-768\u-12\u-12/bert初始检查点=/cased\u-12\u最大批量长度=400学习率=2e-5个训练次数=3.0个输出次数=3.0个输出方向=./bert\u输出次数/do\u小写字母=False
回溯(最近一次呼叫最后一次):
文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\absl\flags\\ flagvalues.py”,第527行,位于断言\验证程序中
验证程序。验证(自我)
文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\absl\flags\\ u validators.py”,第81行,在verify中
引发_异常。验证错误(self.message)
absl.flags.\u exceptions.ValidationError:Flag--必须指定数据目录。
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“run_classifier.py”,第981行,在
tf.app.run()
文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\tensorflow\python\platform\app.py”,第119行,正在运行
argv=flags.flags(_sys.argv,如果argv不是其他argv,则为已知的_only=True)
文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\tensorflow\python\platform\flags.py”,第112行,在调用中__
返回self.\uuuuu dict\uuuuuuu[''uuuuuu wrapped']。\uuuuu调用(*args,**kwargs)
调用中第635行的文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\absl\flags\\ flagvalues.py”__
self.\u assert\u all\u validator()
文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\absl\flags\\ flagvalues.py”,第509行,位于所有验证程序中
self.\u断言\u验证程序(所有\u验证程序)
文件“C:\Users\nnn\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site packages\absl\flags\\ flagvalues.py”,第530行,在断言\验证程序中
引发异常。IllegalFlagValueError(“%s:%s%”(消息,str(e)))
absl.flags.\u exceptions.IllegalFlagValueError:flag--data\u dir=None:flag--data\u dir必须指定。
  • 我应该如何运行它
  • 我可以直接从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\u classifier.py

    时传递参数,我认为./data/更像Linux,但您可能有Windows。将这些选项切换为类似于
    --data\u dir=\data
    --output\u dir=\bert\u output
    的选项怎么样?这样行吗?