--- title: PaperClassification emoji: πŸ“š colorFrom: gray colorTo: yellow models: - oracat/bert-paper-classifier-arxiv - oracat/bert-paper-classifier sdk: streamlit sdk_version: 1.44.1 app_file: app.py pinned: false short_description: Different models for paper classification --- # Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ локально Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ venv ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ зависимости (это Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·). Для Linux-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСм это дСлаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ```sh python -m venv venv # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды chmod +x venv/bin/activate # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° исполнСниС скрипту, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ срСду source venv/bin/activate # ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ срСду pip install -r requirements.txt # Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС зависимости ``` ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ рСпозитория: ```sh streamlit run app.py ``` Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅: ```sh deactivate ``` # Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ модСль Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ `category_classification/models` создайтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. НазваниС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ: Π»ΠΈΠ±ΠΎ `Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠΎΠ΄Π΅Π»ΠΈ` Π»ΠΈΠ±ΠΎ `Π°Π²Ρ‚ΠΎΡ€__Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠΎΠ΄Π΅Π»ΠΈ`. Π’ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ создайтС Ρ„Π°ΠΉΠ» `model.py`, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ этом ΠΆΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ строковый Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ `name`, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠ΅Π½ΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ функция `get_model`, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ callable, Π² Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° `Input` (см. [common.py](src/common.py)). ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ pickable.