Instalação do ambiente python
Estou aqui com uma versão instalada anteriormente: python 3.11.5, que não abordarei aqui, mas você pode encontrar tutoriais on-line se precisar.
Instalação do Anaconda
Estou aqui com uma versão instalada anteriormente: conda 23.7.4, que também não descreverei aqui, mas você pode encontrar tutoriais on-line se precisar deles.
Instalar o OmniParser
git clone https://github.com/microsoft/OmniParser.git cd OmniParser
Criação de ambientes exclusivos
conda create -n "omni" python==3.11
conda activate omni
Execute o seguinte comando para baixar os pacotes de dependência necessários.
pip install -r requirements.txt
download microsoft/OmniParser-v2.0
O arquivo do modelo, mas não consigo acessar o site (https://huggingface.co), então escolhihttps://hf-mirror.com/.
Localizar microsoft/OmniParser-v2.0
Uma vez lá dentro, clique nas pastas icon_caption e icon_detect e faça download dos arquivos em cada uma delas.
Principalmente os seis documentos a seguir.
icon_detect/train_args.yaml icon_detect/model.pt icon_detect/model.yaml icon_caption/config.json icon_caption/generation_config.json icon_caption/model.safetensors
Crie um novo diretório no diretório do projeto da seguinte forma
mkdir -p weights/icon_detect mkdir -p weights/icon_caption_florence
O resultado final é o seguinte:
Faça o download dos arquivos da seção anterior e coloque-os nas pastas correspondentes.
Execute o comando python gradio_demo.py e, após uma breve espera, ocorre o seguinte erro.
[2025-02-25 20:11:26,669] [ WARNING] easyocr.py:80 - Nem CUDA nem MPS estão disponíveis - padrão para CPU. Observação: este módulo é muito mais rápido com uma GPU. Traceback (última chamada mais recente). Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connection.py", linha 203, em _new_conn sock = connection.create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3utilconnection.py", linha 85, em create_connection aumentar err Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3utilconnection.py", linha 73, em create_connection sock.connect(sa) TimeoutError: tempo limite esgotado A exceção acima foi a causa direta da exceção a seguir. Traceback (última chamada mais recente). Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connectionpool.py", linha 790, em urlopen response = self._make_request( ^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connectionpool.py", linha 491, em _make_request raise new_e Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connectionpool.py", linha 467, em _make_request self._validate_conn(conn) Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connectionpool.py", linha 1096, em _validate_conn conn.connect() Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connection.py", linha 611, em connect self.sock = sock = self._new_conn() ^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connection.py", linha 212, em _new_conn raise ConnectTimeoutError( urllib3.exceptions.ConnectTimeoutError: (, 'Connection to huggingface.co timed out. (connect timeout=10)') A exceção acima foi a causa direta da exceção a seguir. Traceback (última chamada mais recente). Arquivo "D:DevelopmentToolsPythonLibsite-packagesrequestsadapters.py", linha 486, em send resp = conn.urlopen( ^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3connectionpool.py", linha 844, em urlopen retries = retries.increment( ^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesurllib3utilretry.py", linha 515, em increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /microsoft/Florence -2-base/resolve/main/config.json (Causado por ConnectTimeoutError(, ' Connection to huggingface.co timed out. (connect timeout=10)')) Durante o tratamento da exceção acima, ocorreu outra exceção. Traceback (última chamada mais recente). Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 1376, em _get_metadata_or_catch_error metadata = get_hf_file_metadata( ^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubutils_validators.py", linha 114, em _inner_fn return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 1296, em get_hf_file_metadata r = _request_wrapper( ^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 280, em _request_wrapper response = _request_wrapper( ^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 303, em _request_wrapper response = get_session().request(method=method, url=url, **params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesrequestssessions.py", linha 589, em request resp = self.send(prep, **send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesrequestssessions.py", linha 703, em send r = adapter.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubutils_http.py", linha 96, em send return super().send(request, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagesrequestsadapters.py", linha 507, em send raise ConnectTimeout(e, request=request) requests.exceptions.ConnectTimeout: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: / microsoft/Florence-2-base/resolve/main/config.json (Causado por ConnectTimeoutError(, 'Connection to huggingface.co timed out.(connect timeout=10)'))"), '(Request ID: 3ae795ae-e87f-45e3-8c1b-26c359494139) ') A exceção acima foi a causa direta da exceção a seguir. Traceback (última chamada mais recente). Arquivo "D:DevelopmentToolsPythonLibsite-packagestransformersutilshub.py", linha 342, em cached_file resolved_file = hf_hub_download( ^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubutils_validators.py", linha 114, em _inner_fn return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 862, em hf_hub_download return _hf_hub_download_to_cache_dir( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 969, em _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) Arquivo "D:DevelopmentToolsPythonLibsite-packageshuggingface_hubfile_download.py", linha 1489, em _raise_on_head_call_error raise LocalEntryNotFoundError( huggingface_hub.errors.LocalEntryNotFoundError: Ocorreu um erro ao tentar localizar o arquivo no Hub e não conseguimos encontrar os arquivos solicitados em Verifique sua conexão e tente novamente ou certifique-se de que sua conexão com a Internet esteja ativada. A exceção acima foi a causa direta da exceção a seguir. Traceback (última chamada mais recente). Arquivo "E:OmniParsergradio_demo.py", linha 16, em caption_model_processor = get_caption_model_processor(model_name="florence2", model_name_or_path="weights/icon_caption_florence") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "E:OmniParserutilutils.py", linha 63, em get_caption_model_processor processor = AutoProcessor.from_pretrained("microsoft/Florence-2-base", trust_remote_code=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagestransformersmodelsautoprocessing_auto.py", linha 305, em from_pretrained config = AutoConfig.from_pretrained( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagestransformersmodelsautoconfiguration_auto.py", linha 1075, em from_pretrained config_dict, unused_kwargs = PretrainedConfig.get_config_dict(pretrained_model_name_or_path, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagestransformersconfiguration_utils.py", linha 594, em get_config_dict config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagestransformersconfiguration_utils.py", linha 653, em _get_config_dict resolved_config_file = cached_file( ^^^^^^^^^^^^ Arquivo "D:DevelopmentToolsPythonLibsite-packagestransformersutilshub.py", linha 385, em cached_file raise EnvironmentError( OSError: Não foi possível conectar-se a 'https://huggingface.co' para carregar esse arquivo, não foi possível encontrá-lo nos arquivos em cache e parece que microsoft/Florence-2 -base não é o caminho para um diretório que contém um arquivo chamado config.json. Verifique sua conexão com a Internet ou veja como executar a biblioteca no modo off-line em 'https://huggingface.co/docs/transformers/ installation#offline-mode'.
Parece um monte de erros, mas na verdade são apenas https://huggingface.co O motivo da falta de acesso. Vamos alterar o arquivo constants.py no diretório https://huggingface.co Substituir porhttps://hf-mirror.com.
Por esse motivo, ainda inseguro, procurei tutoriais on-line e adicionei outra linha de configurações na parte superior.
Digite o comando python gradio_demo.py novamente e ele será executado com êxito, conforme mostrado abaixo:
Digite-o em seu navegador:http://127.0.0.1:7861Os resultados são mostrados abaixo:
Faça uma captura de tela da área de trabalho e peça que ele a analise: