<p>gunicorn + argparse Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚</p>

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 7 ΠΎΠΊΡ‚. 2019  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: benoitc/gunicorn

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π΄Π΅ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою модСль pytorch с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля argparse.
ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ argparse Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ gunicorn.
И я столкнулся с Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ:

usage: gunicorn [-h] [--mode MODE] [--batch_size BATCH_SIZE] [--warmup WARMUP]
                [--early_stop EARLY_STOP] [--seed SEED] [--t_total] [--lr LR]
                [--lr_decay_epochs LR_DECAY_EPOCHS]
                [--lr_decay_rate LR_DECAY_RATE]
                [--weight_decay_rate WEIGHT_DECAY_RATE] [--bert_lr BERT_LR]
                [--num_epochs NUM_EPOCHS] [--model_dir MODEL_DIR]
                [--model_path MODEL_PATH] [--num_workers NUM_WORKERS]
                [--train_dataset TRAIN_DATASET] [--eval_dataset EVAL_DATASET]
                [--test_dataset TEST_DATASET] [--bert_low_case BERT_LOW_CASE]
                [--bert_type BERT_TYPE] [--bert_hidden_size BERT_HIDDEN_SIZE]
                [--bert_dropout BERT_DROPOUT]
                [--bert_mention_max_len BERT_MENTION_MAX_LEN]
                [--bert_max_len BERT_MAX_LEN]
                [--bert_char_max_len BERT_CHAR_MAX_LEN]
                [--bert_entity_threshold BERT_ENTITY_THRESHOLD]
                [--bert_freeze] [--bert_threshold BERT_THRESHOLD]
                [--bert_adam] [--enhance_mention] [--interaction]
                [--context_dropout CONTEXT_DROPOUT]
                [--mention_dropout MENTION_DROPOUT]
                [--rnn_hidden_size RNN_HIDDEN_SIZE]
                [--rnn_num_layers RNN_NUM_LAYERS] [--rnn_dropout RNN_DROPOUT]
                [--rnn_num_dirs RNN_NUM_DIRS]
                [--cnn_embedding_dim CNN_EMBEDDING_DIM]
                [--cnn_output_dim CNN_OUTPUT_DIM] [--cnn_filters CNN_FILTERS]
                [--hierarchy_alpha HIERARCHY_ALPHA]
gunicorn: error: unrecognized arguments: -w 1 -b 0.0.0.0:3101 --reload -t 500 api:app

Подсказки Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅ - это ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Бпасибо ~

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ создаСтС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ argparse ?

Gunicorn Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ parse_args Π½Π° собствСнном экзСмплярС argparse . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅, ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ sys.argv ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свои собствСнныС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² parse_args , Ссли Π²Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚Π΅ Π΅Π³ΠΎ послС запуска Gunicorn.

https://docs.python.org/3/library/argparse.html#the -parse-args-method

Бпасибо Π·Π° ваш ΠΎΡ‚Π²Π΅Ρ‚. Π― ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ Ссли я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ argparse Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ args = parser.parse_args(sys.argv) , Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ gunicorn ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
ΠŸΡ€ΠΎΠ±ΡƒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° args, unknown = parser.parse_known_args() , всС ΠΈΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.
Бпасибо ~

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ создаСтС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ argparse ?

Gunicorn Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ parse_args Π½Π° собствСнном экзСмплярС argparse . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅, ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ sys.argv ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свои собствСнныС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² parse_args , Ссли Π²Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚Π΅ Π΅Π³ΠΎ послС запуска Gunicorn.

https://docs.python.org/3/library/argparse.html#the -parse-args-method

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ создаСтС своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ argparse ?

Gunicorn Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ parse_args Π½Π° собствСнном экзСмплярС argparse . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅, ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ sys.argv ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свои собствСнныС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² parse_args , Ссли Π²Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚Π΅ Π΅Π³ΠΎ послС запуска Gunicorn.

https://docs.python.org/3/library/argparse.html#the -parse-args-method

Бпасибо Π·Π° ваш ΠΎΡ‚Π²Π΅Ρ‚. Π― ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ Ссли я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ argparse Π² своСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ args = parser.parse_args(sys.argv) , Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ gunicorn ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
ΠŸΡ€ΠΎΠ±ΡƒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° args, unknown = parser.parse_known_args() , всС ΠΈΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.
Бпасибо ~

МоТно Π»ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ вопрос? Π’Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² синтаксичСском Π°Π½Π°Π»ΠΈΠ·Π΅ Π²Π°ΡˆΠΈΡ… собствСнных ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ gunicorn?

Бпасибо Π΅Ρ‰Π΅ Ρ€Π°Π·!

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ