{"id":20304,"name":"DeepTreeAttention","description":"Hyperspectral Image Classification with Attention Aided CNNs.","url":"https://github.com/weecology/DeepTreeAttention","last_synced_at":"2026-04-29T11:30:15.941Z","repository":{"id":37879465,"uuid":"268541551","full_name":"weecology/DeepTreeAttention","owner":"weecology","description":"Implementation of Hang et al. 2020 \"Hyperspectral Image Classification with Attention Aided CNNs\" for tree species prediction ","archived":false,"fork":false,"pushed_at":"2026-04-25T03:20:18.000Z","size":331320,"stargazers_count":135,"open_issues_count":12,"forks_count":38,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-04-28T11:06:43.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weecology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-01T14:14:29.000Z","updated_at":"2026-04-25T05:21:43.000Z","dependencies_parsed_at":"2024-04-09T18:07:53.755Z","dependency_job_id":null,"html_url":"https://github.com/weecology/DeepTreeAttention","commit_stats":{"total_commits":3067,"total_committers":5,"mean_commits":613.4,"dds":"0.48223019237039455","last_synced_commit":"cae13f1e4271b5386e2379068f8239de3033ec40"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/weecology/DeepTreeAttention","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32422531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"weecology","name":"Weecology","uuid":"1156696","kind":"organization","description":null,"email":null,"website":"http://weecology.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1156696?v=4","repositories_count":93,"last_synced_at":"2023-03-11T03:45:49.249Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/weecology","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T21:15:58.355Z","updated_at":"2023-03-11T03:45:49.264Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology/repositories"},"packages":[{"id":11733683,"name":"github.com/weecology/DeepTreeAttention","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/weecology/DeepTreeAttention","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2025-06-05T11:17:44.849Z","latest_release_published_at":"2021-01-01T22:34:01.000Z","latest_release_number":"v0.0.5","last_synced_at":"2026-04-26T11:07:06.846Z","created_at":"2025-06-05T11:17:43.966Z","updated_at":"2026-04-26T11:07:06.847Z","registry_url":"https://pkg.go.dev/github.com/weecology/DeepTreeAttention","install_command":"go get github.com/weecology/DeepTreeAttention","documentation_url":"https://pkg.go.dev/github.com/weecology/DeepTreeAttention#section-documentation","metadata":{},"repo_metadata":{"id":37879465,"uuid":"268541551","full_name":"weecology/DeepTreeAttention","owner":"weecology","description":"Implementation of Hang et al. 2020 \"Hyperspectral Image Classification with Attention Aided CNNs\" for tree species prediction ","archived":false,"fork":false,"pushed_at":"2024-03-27T22:46:04.000Z","size":329186,"stargazers_count":132,"open_issues_count":12,"forks_count":37,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-23T11:35:47.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weecology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-01T14:14:29.000Z","updated_at":"2025-10-22T01:13:26.000Z","dependencies_parsed_at":"2024-04-09T18:07:53.755Z","dependency_job_id":null,"html_url":"https://github.com/weecology/DeepTreeAttention","commit_stats":{"total_commits":3067,"total_committers":5,"mean_commits":613.4,"dds":"0.48223019237039455","last_synced_commit":"cae13f1e4271b5386e2379068f8239de3033ec40"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/weecology/DeepTreeAttention","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281485690,"owners_count":26509764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"weecology","name":"Weecology","uuid":"1156696","kind":"organization","description":null,"email":null,"website":"http://weecology.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1156696?v=4","repositories_count":93,"last_synced_at":"2023-03-11T03:45:49.249Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/weecology","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T21:15:58.355Z","updated_at":"2023-03-11T03:45:49.264Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology/repositories"},"tags":[{"name":"v1.1","sha":"8ee0fa1f2958cca4bb120fbc2cebd4f7241c0f85","kind":"commit","published_at":"2023-11-01T18:22:46.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/v1.1","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v1.1/manifests"},{"name":"v1.0","sha":"91b2def6a39539b24003f12b87226ffeaa2b7f98","kind":"commit","published_at":"2022-11-09T18:40:20.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/v1.0","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v1.0/manifests"},{"name":"v0.0.5","sha":"439f959416f35789972c08b529212885c72b534f","kind":"tag","published_at":"2021-01-01T22:41:35.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/v0.0.5","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"2e3e781d1fd8dc114efae84c99507cc88c84b350","kind":"commit","published_at":"2020-11-10T15:46:49.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/v0.0.4","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.4/manifests"},{"name":"0.0.3","sha":"deeb89d2771f043bfff5be4a4d0dbd0d66cc3479","kind":"commit","published_at":"2020-08-25T17:55:41.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/0.0.3","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/0.0.3/manifests"},{"name":"v0.0.2","sha":"a1f1e8592b775b899c3a09868e7c795dde43e0d2","kind":"commit","published_at":"2020-08-01T14:31:55.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/v0.0.2","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"27991d90c4b13b8d7c3165ebfa60a46ab9dfe66b","kind":"commit","published_at":"2020-07-28T19:40:42.000Z","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/v0.0.1","html_url":"https://github.com/weecology/DeepTreeAttention/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/weecology/DeepTreeAttention@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2025-10-30T19:18:40.448Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/weecology/%21deep%21tree%21attention","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/weecology/DeepTreeAttention","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/weecology/DeepTreeAttention","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/weecology/DeepTreeAttention/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-09T22:46:59.739Z","issues_count":154,"pull_requests_count":23,"avg_time_to_close_issue":6743525.894366197,"avg_time_to_close_pull_request":634306.1739130435,"issues_closed_count":142,"pull_requests_closed_count":23,"pull_request_authors_count":5,"issue_authors_count":3,"avg_comments_per_issue":0.5324675324675324,"avg_comments_per_pull_request":0.043478260869565216,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/issues","maintainers":[{"login":"bw4sz","count":166,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bw4sz"},{"login":"ethanwhite","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ethanwhite"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2FDeepTreeAttention/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2FDeepTreeAttention/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2FDeepTreeAttention/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2FDeepTreeAttention/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2FDeepTreeAttention/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2110429,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":11733709,"name":"github.com/weecology/deeptreeattention","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/weecology/deeptreeattention","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2020-07-28T19:40:42.000Z","latest_release_published_at":"2021-01-01T22:34:01.000Z","latest_release_number":"v0.0.5","last_synced_at":"2026-04-26T11:07:07.177Z","created_at":"2025-06-05T11:17:45.567Z","updated_at":"2026-04-26T11:07:07.177Z","registry_url":"https://pkg.go.dev/github.com/weecology/deeptreeattention","install_command":"go get github.com/weecology/deeptreeattention","documentation_url":"https://pkg.go.dev/github.com/weecology/deeptreeattention#section-documentation","metadata":{},"repo_metadata":{"id":37879465,"uuid":"268541551","full_name":"weecology/DeepTreeAttention","owner":"weecology","description":"Implementation of Hang et al. 2020 \"Hyperspectral Image Classification with Attention Aided CNNs\" for tree species prediction ","archived":false,"fork":false,"pushed_at":"2024-03-27T22:46:04.000Z","size":329186,"stargazers_count":132,"open_issues_count":12,"forks_count":37,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-23T11:35:47.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weecology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-01T14:14:29.000Z","updated_at":"2025-10-22T01:13:26.000Z","dependencies_parsed_at":"2024-04-09T18:07:53.755Z","dependency_job_id":null,"html_url":"https://github.com/weecology/DeepTreeAttention","commit_stats":{"total_commits":3067,"total_committers":5,"mean_commits":613.4,"dds":"0.48223019237039455","last_synced_commit":"cae13f1e4271b5386e2379068f8239de3033ec40"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/weecology/DeepTreeAttention","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology","download_url":"https://codeload.github.com/weecology/DeepTreeAttention/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281047750,"owners_count":26435124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"weecology","name":"Weecology","uuid":"1156696","kind":"organization","description":null,"email":null,"website":"http://weecology.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1156696?v=4","repositories_count":93,"last_synced_at":"2023-03-11T03:45:49.249Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/weecology","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-02T21:15:58.355Z","updated_at":"2023-03-11T03:45:49.264Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weecology/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-10-30T19:18:38.547Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/weecology/deeptreeattention","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/weecology/deeptreeattention","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/weecology/deeptreeattention","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/weecology/deeptreeattention/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-09T22:46:59.739Z","issues_count":154,"pull_requests_count":23,"avg_time_to_close_issue":6743525.894366197,"avg_time_to_close_pull_request":634306.1739130435,"issues_closed_count":142,"pull_requests_closed_count":23,"pull_request_authors_count":5,"issue_authors_count":3,"avg_comments_per_issue":0.5324675324675324,"avg_comments_per_pull_request":0.043478260869565216,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/issues","maintainers":[{"login":"bw4sz","count":166,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bw4sz"},{"login":"ethanwhite","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ethanwhite"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2Fdeeptreeattention/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2Fdeeptreeattention/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2Fdeeptreeattention/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2Fdeeptreeattention/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweecology%2Fdeeptreeattention/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2110429,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1254266,"full_name":"weecology/DeepTreeAttention","default_branch":"main","total_commits":3067,"total_committers":5,"total_bot_commits":2,"total_bot_committers":1,"mean_commits":613.4,"dds":0.48223019237039455,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-26T10:01:31.661Z","last_synced_commit":"cae13f1e4271b5386e2379068f8239de3033ec40","created_at":"2023-03-27T11:02:04.482Z","updated_at":"2026-04-26T10:01:00.939Z","committers":[{"name":"Ben Weinstein","email":"benweinstein@Bens-MacBook-Pro.local","login":null,"count":1588},{"name":"bw4sz","email":"benweinstein2010@gmail.com","login":"bw4sz","count":1474},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":2},{"name":"Ethan White (he/him)","email":"ethan@weecology.org","login":"ethanwhite","count":2},{"name":"Ben Weinstein","email":"benweinstein@Bens-MBP.lan","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-28T00:00:07.369Z","repositories_count":6220964,"commits_count":899955415,"contributors_count":34887631,"owners_count":1146655,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"weecology/DeepTreeAttention","html_url":"https://github.com/weecology/DeepTreeAttention","last_synced_at":"2026-04-01T22:00:25.223Z","status":"error","issues_count":154,"pull_requests_count":23,"avg_time_to_close_issue":6743525.894366197,"avg_time_to_close_pull_request":634306.1739130435,"issues_closed_count":142,"pull_requests_closed_count":23,"pull_request_authors_count":5,"issue_authors_count":3,"avg_comments_per_issue":0.5324675324675324,"avg_comments_per_pull_request":0.043478260869565216,"merged_pull_requests_count":18,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:39:06.575Z","updated_at":"2026-04-01T22:00:25.224Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/weecology%2FDeepTreeAttention/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":3},"issue_author_associations_count":{"COLLABORATOR":150,"NONE":3},"pull_request_author_associations_count":{"COLLABORATOR":16,"CONTRIBUTOR":3,"MEMBER":2,"NONE":2},"issue_authors":{"bw4sz":150,"mgwein":2,"SebastianKyle":1},"pull_request_authors":{"bw4sz":16,"dependabot[bot]":3,"ethanwhite":2,"henrykironde":1,"MarconiS":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-16T00:00:09.014Z","repositories_count":14280979,"issues_count":34604521,"pull_requests_count":113232740,"authors_count":11235699,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"SebastianKyle":1},"past_year_pull_request_authors":{},"maintainers":[{"login":"bw4sz","count":166,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bw4sz"},{"login":"ethanwhite","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ethanwhite"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":2,"IssuesEvent":1,"WatchEvent":12,"IssueCommentEvent":1,"PushEvent":2,"CreateEvent":1},"last_year":{"IssuesEvent":1,"WatchEvent":3,"IssueCommentEvent":1,"PushEvent":2,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/pytest.yml","sha":null,"kind":"manifest","created_at":"2023-02-12T14:45:23.627Z","updated_at":"2023-02-12T14:45:23.627Z","repository_link":"https://github.com/weecology/DeepTreeAttention/blob/main/.github/workflows/pytest.yml","dependencies":[{"id":7588067332,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7588067333,"package_name":"actions/cache","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7588067334,"package_name":"conda-incubator/setup-miniconda","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-09-21T19:58:48.230Z","updated_at":"2023-09-21T19:58:48.230Z","repository_link":"https://github.com/weecology/DeepTreeAttention/blob/main/requirements.txt","dependencies":[{"id":13857066302,"package_name":"comet_ml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066303,"package_name":"dask","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066304,"package_name":"dask_jobqueue","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066305,"package_name":"deepforest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066306,"package_name":"descartes","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066307,"package_name":"distributed","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066308,"package_name":"geopandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066309,"package_name":"h5py","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066310,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066311,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066312,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066313,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066314,"package_name":"pytorch_lightning","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066315,"package_name":"PyYAML","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066316,"package_name":"rasterio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066317,"package_name":"rasterstats","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066318,"package_name":"scikit_learn","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066319,"package_name":"setuptools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066320,"package_name":"Shapely","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066321,"package_name":"skimage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066322,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066323,"package_name":"torchmetrics","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":13857066324,"package_name":"torchvision","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-09-21T19:58:48.245Z","updated_at":"2023-09-21T19:58:48.245Z","repository_link":"https://github.com/weecology/DeepTreeAttention/blob/main/setup.py","dependencies":[]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2024-04-09T18:07:48.963Z","updated_at":"2024-04-09T18:07:48.963Z","repository_link":"https://github.com/weecology/DeepTreeAttention/blob/main/environment.yml","dependencies":[{"id":17332220721,"package_name":"bokeh","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220927,"package_name":"descartes","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220928,"package_name":"h5py","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220929,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220930,"package_name":"numpydoc","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220931,"package_name":"pip","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220932,"package_name":"pytest","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220933,"package_name":"pytorch","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220934,"package_name":"pyyaml","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332220935,"package_name":"recommonmark","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332221114,"package_name":"scikit-learn","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332221115,"package_name":"sphinx","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332221116,"package_name":"sphinx_rtd_theme","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332221151,"package_name":"torchvision","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332221152,"package_name":"twine","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":17332221187,"package_name":"yapf","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2023-09-11T14:52:11.526Z","updated_at":"2026-04-29T11:30:15.944Z","avatar_url":"https://github.com/weecology.png","language":"Python","category":"Biosphere","sub_category":"Forest Remote Sensing","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"DeepTreeAttention\n==============================\n\n[![Github Actions](https://github.com/Weecology/DeepTreeAttention/actions/workflows/pytest.yml/badge.svg)](https://github.com/Weecology/DeepTreeAttention/actions/)\n\nTree Species Prediction for the National Ecological Observatory Network (NEON)\n\nImplementation of Hang et al. 2020 [Hyperspectral Image Classification with Attention Aided CNNs](https://arxiv.org/abs/2005.11977) for tree species prediction.\n\n# Model Architecture\n\n![](www/model.png)\n\nProject Organization\n------------\n\n    ├── LICENSE\n    ├── README.md          \u003c- The top-level README for developers using this project.\n    ├── data\n    │   ├── processed      \u003c- The final, canonical data sets for modeling.\n    │   └── raw            \u003c- The original, immutable data dump.\n    │\n    ├── environment.yml   \u003c- Conda requirements\n    │\n    ├── setup.py           \u003c- makes project pip installable (pip install -e .) so src can be imported\n    ├── src                \u003c- Source code for use in this project.\n    │   ├── Models         \u003c- Model Architectures\n\n--------\n\n# Workflow\nThere are three main parts to this project, a 1) data module, a 2) model module, and 3) a trainer module. Usually the data_module is created to hold the train and test split and keep track of data generation reproducibility. Then a model architecture is created and pass to the model module along with the data module. Finally the model module is passed to the trainer.\n\n```\n#1) \ndata_module = data.TreeData(csv_file=\"data/raw/neon_vst_data_2021.csv\", regenerate=False, client=client)\n\n#2)\nmodel = \u003ccreate a pytorch NN.module\u003e\nm = main.TreeModel(model=model, bands=data_module.config[\"bands\"], classes=data_module.num_classes,label_dict=data_module.species_label_dict)\n\n#3\ntrainer = Trainer()\ntrainer.fit(m, datamodule=data_module)\n```\n\n## Pytorch Lightning Data Module (data.TreeData)\n\nThis repo contains a pytorch lightning data module for reproducibility. The goal of the project is to make it easy to share with others within our research group, but we welcome contributions from outside the community. While all data is public, it is VERY large (\u003e20TB) and cannot be easily shared. If you want to reproduce this work, you will need to download the majority of NEON's camera, HSI and CHM data and change the paths in the config file. For the 'raw' NEON tree stem data see data/raw/neon_vst_2021.csv. The data module starts from this state, which are x,y locations for each tree. It then performs the following actions as an end-to-end workflow.\n\n1. Filters the data to represent trees over 3m with sufficient number of training samples\n2. Extract the LiDAR derived canopy height and compares it to the field measured height. Trees that are below the canopy are excluded based on the min_CHM_diff parameter in the config.\n3. Splits the training and test x,y data such that field plots are either in training or test.\n4. For each x,y stem location the crown is predicted by the tree detection algorithm (DeepForest - https://deepforest.readthedocs.io/).\n5. Crops of each tree crown are created and divided into pixel windows for pixel-level prediction.\n\nThis workflow does not need to be run on every experiment. If you are satisifed with the current train/test split and data generation process, set regenerate=False\n\n```\ndata_module = data.TreeData(csv_file=\"data/raw/neon_vst_data_2021.csv\", regenerate=False)\ndata_module.setup()\n```\n\n## Pytorch Lightning Training Module (data.TreeModel)\n\nTraining is handled by the TreeModel class which loads a model from the models folder, reads the config file and runs the training. The evaluation metrics and images are computed and put of the comet dashboard\n\n```\nm = main.TreeModel(model=Hang2020.vanilla_CNN, bands=data_module.config[\"bands\"], classes=data_module.num_classes,label_dict=data_module.species_label_dict)\n\ntrainer = Trainer(\n    gpus=data_module.config[\"gpus\"],\n    fast_dev_run=data_module.config[\"fast_dev_run\"],\n    max_epochs=data_module.config[\"epochs\"],\n    accelerator=data_module.config[\"accelerator\"],\n    logger=comet_logger)\n   \ntrainer.fit(m, datamodule=data_module)\n```\n\n## Alive/Dead Filtering\n\nAs part of the prediction pipeline, RGB crops are scored as either 'Alive', meanining they have leaves during presumed leaf-on season, or 'Dead', meaning they do not have leaves.\nTo finetune the resent50 model, see src/models/dead.py. The classified data for the Alive/Dead crops can be found in data/raw/dead_train and dead/raw/dead_test.\n\n### Dev Guide\n\nIn general, major changes or improvements should be made on a new git branch. Only core improvements should be made on the main branch. If a change leads to higher scores, please create a pull request. Any pull requests are expected to have pytest unit tests (see tests/) that cover major use cases.\n\n## Model Architectures\n\nThe TreeModel class takes in a create model function\n\n```\nm = main.TreeModel(model=Hang2020.vanilla_CNN)\n```\n\nAny model can be specified provided it follows the following input and output arguments\n\n```\nclass myModel(Module):\n    \"\"\"\n    Model description\n    \"\"\"\n    def __init__(self, bands, classes):\n        super(myModel, self).__init__()\n        \u003cdefine model architecture here\u003e\n\n    def forward(self, x):\n        \u003cforward method for computing loss goes here\u003e\n        class_scores = F.softmax(x)\n        \n        return class_scores\n```\n\n### Extending the model\n\nTo create a model that takes in new inputs, I strongly recommend sub-classing the existing TreeData and TreeModel classes. For an example, see the MetadataModel in models/metadata.py\n\n```\n#Subclass of the training model\nclass MetadataModel(main.TreeModel):\n    \"\"\"Subclass the core model and update the training loop to take two inputs\"\"\"\n    def __init__(self, model, sites,classes, label_dict, config):\n        super(MetadataModel,self).__init__(model=model,classes=classes,label_dict=label_dict, config=config)  \n    \n    def training_step(self, batch, batch_idx):\n        \"\"\"Train on a loaded dataset\n        \"\"\"\n        #allow for empty data if data augmentation is generated\n        inputs, y = batch\n        images = inputs[\"HSI\"]\n        metadata = inputs[\"site\"]\n        y_hat = self.model.forward(images, metadata)\n        loss = F.cross_entropy(y_hat, y)    \n        \n        return loss\n\n```\n\n## Getting Started (UF - collaboration)\n\nThis section is meant solely for members of the idtrees group who have access to the data.\n\n1) Fork this repo and install the conda environment.\n\n```\nconda env create -f=environment.yml\nconda activate DeepTreeAttention\n```\n\n2) Update the config.yml\n\nCurrently, only members of the ewhite group have permissions to the raw NEON data.\n\nFor example:\n\n```\nrgb_sensor_pool: /orange/ewhite/NeonData/*/DP3.30010.001/**/Camera/**/*.tif\n```\n\nThis is not a problem, just set \n\n```\nregenerate: False\n```\n\nand it will bypass these steps and use the existing train/test split (e.g. data/processed/train.csv) \n\nYou will need to set the correct crop directories\n\n```\ncrop_dir: /blue/ewhite/b.weinstein/DeepTreeAttention/crops/\n```\nTo wherever the crops are saved. This is currently \n\n```\n/orange/idtrees-collab/DeepTreeAttention/crops/\n```\n\nI highly recommend making a comet login. Change\n\n```\n#Comet dashboard\ncomet_workspace: bw4sz\n```\nto your usename and add a [.comet.config file](https://www.comet.ml/docs/python-sdk/advanced/#non-interactive-setup) to authenticate.\n\n3) Submit a job\n\nSubmit a SLURM job\n\n```\nsbatch SLURM/experiment.sh\n```\n\n4) Look at the comet repo for results\n\nThe metrics tab has the Micro and Macro Accuracy.\n\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["transforms","optimize","archiving","measur","generic","compose","observation","animals","conversion","projection"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20304","html_url":"https://ost.ecosyste.ms/projects/20304"}