An Agnostic Computer Vision Framework - Pluggable to any Training Library: Fastai, Pytorch-Lightning with more to come

Overview
logo

An Agnostic Object Detection Framework


tests docs codecov PyPI version Downloads

black license Discord


IceVision is the first agnostic computer vision framework to offer a curated collection with hundreds of high-quality pre-trained models from torchvision, MMLabs, and soon Pytorch Image Models. It orchestrates the end-to-end deep learning workflow allowing to train networks with easy-to-use robust high-performance libraries such as Pytorch-Lightning and Fastai

IceVision Unique Features:

  • Data curation/cleaning with auto-fix

  • Access to an exploratory data analysis dashboard

  • Pluggable transforms for better model generalization

  • Access to hundreds of neural net models

  • Access to multiple training loop libraries

  • Multi-task training to efficiently combine object detection, segmentation, and classification models

Installation

pip install icevision[all]

For more installation options, check our docs.

Important: We currently only support Linux/MacOS.

Quick Example: How to train the Fridge Objects Dataset

Open In Colab image

image

Happy Learning!

If you need any assistance, feel free to:

Join our Forum

Comments
  • Pickle records

    Pickle records

    Option to pickle records so we don't have to parse all data everytime

    This option should be transparent to the user, we can expose it by a optional argument passed to DataParser.

    Always a good discussion is where to store this data. Do it store it relative to the current file? Into /tmp? Or into a .mantisshrimp folder in the home directory?

    Storing relative to the current file is always annoying when using version control, we have to explicitly not add it to checkout

    Example

    COCOParser(data, source, use_cached=True)
    
    enhancement help wanted 
    opened by lgvaz 42
  • Add backbones

    Add backbones

    • I have added the code to support most torchvision bacbones (except alexnet and Densenet)

    I have unit tested the mantisshrimp/backbones/torchvision_backbones.py file.

    How do I test the entire fasterRCNN code I am unsure. Please let me know so that I can test and create PRs next time.

    opened by oke-aditya 35
  • ValueError: Caught ValueError in DataLoader worker process 0.

    ValueError: Caught ValueError in DataLoader worker process 0.

    🚀 Feature

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    bug enhancement help wanted 
    opened by arhamzamindar 27
  • RandomSplitter : TypeError: Can't instantiate abstract class WheatParser with abstract methods bboxes, labels

    RandomSplitter : TypeError: Can't instantiate abstract class WheatParser with abstract methods bboxes, labels

    Hi Aditya,

    RandomSplitter is not able to split the train and validation dataset properly from WheatParser. Could you please correct the format ( def filepath(self, o) -> Union[str, Path]: return self.source / f"{o.image_id}.jpg" ) code from WheatParser class from https://www.kaggle.com/okeaditya/fastaiv2-pytorch-lightning-fasterrcnn

    bug 
    opened by rashmimarganiatgithub 25
  • Predict memory leak

    Predict memory leak

    🐛 Bug

    The prediction contains a reference to the image array. If any stage of the workflow starts accumulating the predictions objects (as it currently happens in COCOMetric this will result in a memory leak.

    COCOMetric currently uses a "quickfix" to make sure the images are not being stored (take a look at accumulate), but we need a more general solution.

    bug help wanted priority-standard 
    opened by lgvaz 22
  • EfficientDet pretrained arch transfer learning

    EfficientDet pretrained arch transfer learning

    📓 New <Tutorial/Example>

    Request for an example

    What is the task? Object detection using transfer learning for the whole architecture. Are there some defined methods to load fastai model and change its head to a different number of classes, similar to this?

    I was able to run the Faster-RCNN example using this example trained on COCO dataset and evaluate its mAP.

    The EfficientDet workflow seems not to be yet ready. Has there been some update on that?

    I was able to create EfficientDet with pretrained encoder and train it myself on COCO. I'm now trying to do transfer learning for a different number of classes. Loading model through fastai, expectedly, throws an error:

    ---------------------------------------------------------------------------
    RuntimeError                              Traceback (most recent call last)
    <ipython-input-22-cf184f01fec3> in <module>
    ----> 1 learn.load('coco_local')
    
    ~/anaconda3/envs/icevision/lib/python3.8/site-packages/fastai/learner.py in load(self, file, with_opt, device, **kwargs)
        293         if self.opt is None: self.create_opt()
        294         file = join_path_file(file, self.path/self.model_dir, ext='.pth')
    --> 295         load_model(file, self.model, self.opt, device=device, **kwargs)
        296         return self
        297 
    
    ~/anaconda3/envs/icevision/lib/python3.8/site-packages/fastai/learner.py in load_model(file, model, opt, with_opt, device, strict)
         47     hasopt = set(state)=={'model', 'opt'}
         48     model_state = state['model'] if hasopt else state
    ---> 49     get_model(model).load_state_dict(model_state, strict=strict)
         50     if hasopt and with_opt:
         51         try: opt.load_state_dict(state['opt'])
    
    ~/anaconda3/envs/icevision/lib/python3.8/site-packages/torch/nn/modules/module.py in load_state_dict(self, state_dict, strict)
       1049 
       1050         if len(error_msgs) > 0:
    -> 1051             raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
       1052                                self.__class__.__name__, "\n\t".join(error_msgs)))
       1053         return _IncompatibleKeys(missing_keys, unexpected_keys)
    
    RuntimeError: Error(s) in loading state_dict for DetBenchTrain:
    	size mismatch for model.class_net.predict.conv_pw.weight: copying a param with shape torch.Size([819, 64, 1, 1]) from checkpoint, the shape in current model is torch.Size([99, 64, 1, 1]).
    	size mismatch for model.class_net.predict.conv_pw.bias: copying a param with shape torch.Size([819]) from checkpoint, the shape in current model is torch.Size([99]).
    

    Is this example for a specific model? EfficientDet

    Is this example for a specific dataset? COCO transfer learning


    Don't remove Main issue for examples: #39

    documentation help wanted good first issue example request 
    opened by potipot 22
  • Add `VIAMaskParser` for parsing polygons as mask annotations.

    Add `VIAMaskParser` for parsing polygons as mask annotations.

    In order to do this, I had to remove VIABBoxParser's ability to parse bounding boxes from both rect and polygon shape attributes and assume that rect annotations are for bounding boxes and polygon annotations for masks. If not, then the polygon annotations were added as an additional bbox and this didn't allow it to be parsed due to length mismatch betwen number of boxes and masks.

    I've left some of the older code commented out rather than delete it, will be happy to clean that up after some feedback.

    opened by rsomani95 22
  • Adds new CI, Covers Multiple OS, Python Versions and Packaging

    Adds new CI, Covers Multiple OS, Python Versions and Packaging

    • With the current change I added CI for more OS systems. It is good idea to build on multiple OS before publishing.

    • This technique is taken from PyTorch Lightning.

    • I have added CI for releasing to both PyPi test server and PyPi official. This is again taken from Lightning

    • We need a test to build package as well. And test PyPi releasing with a dummy release.

    opened by oke-aditya 22
  • Improve hub

    Improve hub

    🚀 Feature

    Hub came into a lot of reformulations, but it's real essence is becoming clear, a place to share datasets (and more)!

    For a specific dataset, the following functions can be present:

    • Load dataset (obligatory)
    • Implement parser (obligatory)
    • Implement baseline model (optional)
    • Implement metrics (optional)
    • Additional stuff we cannot predict, for example, the user may want to include some visualization functions, some exploratory data-analysis tool, etc... (optional)

    A great place to draw inspiration is huggingface/nlp, where they maintain a collection of datasets.

    While they maintain a very easy to use interface, I think there are some points we can improve.

    huggingface/nlp locks the interface and provide fixed methods for getting the dataset, e.g. load_dataset. This works very well for simple (predicted) use cases, but means that custom (unpredicted) functionality is very hard (or impossible) to implement.

    Instead of implementing the interface ourselves, it's a better idea to leave the implementation to the contributor, the only thing we need to do is provide are "blueprints" for the obligatory and common optional methods.

    For example, in huggingface for getting the pets dataset we would do:

    dataset = load_dataset('pets') #additional arguments can be passed
    

    What I'm proposing would be:

    dataset = hub.pets.load_dataset() #additional arguments can be passed
    

    All datasets on hub would have at least the obligatory functions, plus any optional functions. Discoverability of custom functions would be easy because of autocompletion: hub.pets.<TAB> would show everything available.


    What is really cool about huggingface/nlp is that they figured out a way of automatically testing the users datasets, they automatically generate a sample of data from the contributor dataset and test on that. Awesome.

    @ai-fast-track, @oke-aditya, what do you think?

    enhancement help wanted discussion 
    opened by lgvaz 22
  • Improve show_preds

    Improve show_preds

    🚀 Feature

    If targets are available, we could also show how the predictions compare to the targets.

    Maybe a side by side view? Or maybe a difference view between targets and predictions.

    Maybe something like this (from this article): Screenshot 2020-08-06 at 3 54 46 PM

    enhancement help wanted good first issue workflow hacktoberfest 
    opened by lgvaz 20
  • Streamlit integration (local)

    Streamlit integration (local)

    🚀 Feature

    We need a quick demo on how to use streamlit with mantisshrimp. The first step in to get it running locally.

    We should also add helpers functions to make the process easier.

    enhancement help wanted priority-high 
    opened by lgvaz 20
  • Added support for already encoded RLEs

    Added support for already encoded RLEs

    Some COCO Datasets already have encoded RLEs so I added support to the parser to handle cases where they are already encoded. I also removed the use of iscrowd as a method of determining wether it is RLE or Polygon data as in my opinion that is not the proper use of that tag in the dictionary as the mask storage method doesn't always correlate with iscrowd.

    Here is the issue that I brought up. https://github.com/airctic/icevision/issues/1165#issue-1513291363

    opened by gatordevin 0
  • Support for EncodedRLE in COCO Dataset

    Support for EncodedRLE in COCO Dataset

    🚀 Feature

    Current problem I have a COCO Dataset that is storing segmentation data in the following format.

    "annotations": [
          {
             "segmentation": {
                "size": [
                   512,
                   512
                ],
                "counts": "X][email protected][email protected]>d0N1O1O2N1N2O1O1N2N1N3M2M3lA^Nh=d1UBbNf=a1XBbNd=`1[BaNd=`1[BaNd=`1[BbNc=n1O1O1O1O1O1O001O1O1O1O10O01O001O1O001O1O1O^MmBY2R=;O1O10XMPC`2o<9O1O1O1O101N1O100O10O0100O01O1N2M2O2O1O100O100O010O1O10O0100O1O1H8K5N2O1N3O101PNWBe1k=WN_BQ1GXO[>JhA4L05NY>JmA1J33MT?1nSe1"
             },
             "area": 11312,
             "iscrowd": 1,
             "image_id": 2,
             "bbox": [
                304,
                351,
                101,
                112
             ],
             "keypoints": [],
             "num_keypoints": 0,
             "category_id": 2,
             "id": 0
          }, ...
    

    It is clear from this that the count value is being stored as an encoded RLE rather than a normal RLE, as ice vision seems to be assuming.

    Best Solution I think the best solution to this problem is to add a check in the COCODatasetParser that determines whether the data being passed in is in the encoded RLE format or just normal RLE format. I understand right now that iscrowd is used to determine whether it is RLE information or just polygon information. I also think this approach is slightly hacky because plenty of COCODatasets arent necessarily storing crowd segmentation data but still use RLE due to the data size advantages. It would be great if this could be detected automatically which I think is pretty reasonable.

    For Polygons you can check wether segmentation is a dict of information or just an array. If it is just an array then that means it is stored as polygon data.

    For RLE data you can check if it is a dict and if the count's value contains a list of ints then you know it is standard RLE.

    For Encoded RLE Data you can check if the information in counts is a String and if it is then you can just immediately provide the Encoded RLE.

    Alternative Solutions

    1. I can most likely modify this before going into icevision by decoding the dataset and using just normal RLEs but that seems like a roundabout way.
    2. I can also change to simply using polygons rather than RLE. Both of these solutions require modifying my existing dataset rather than just adding support.
    enhancement help wanted 
    opened by gatordevin 1
  • Support for pytorch 1.13

    Support for pytorch 1.13

    🚀 Feature

    Is your feature request related to a problem? Please describe. Yes, I can't take advantage of MPS

    Describe the solution you'd like Support newer versions of pytorch

    Describe alternatives you've considered I've tried to install pytorch 1.13 but seems that 'nms' isn't available in torchvision.ops.boxes

    enhancement help wanted 
    opened by benjats07 0
  • Fix Installation Using Conda Guide link in CONTRIBUTING.md

    Fix Installation Using Conda Guide link in CONTRIBUTING.md

    The previous Installation Using Conda Guide link in CONTRIBUTING.md did not take the user to the required page

    The link "https://airctic.com/install/#b-installation-using-conda" was replaced with "https://airctic.com/0.12.0/install/#installation-using-conda" and takes us to the proper site in the docs

    opened by DeVcB13d 0
  • Error when loading icevision in colab

    Error when loading icevision in colab

    🐛 Bug

    Hi there, when I import icevision in colab I get an error: ModuleNotFoundError: No module named 'sahi.model'

    To Reproduce Steps to reproduce the behavior: !pip install icevision[all] from icevision.all import *

    ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    [<ipython-input-5-2dc2b878494d>](https://localhost:8080/#) in <module>
    ----> 1 from icevision.all import *
    
    2 frames
    [/usr/local/lib/python3.7/dist-packages/icevision/__init__.py](https://localhost:8080/#) in <module>
          5 from icevision.data import *
          6 from icevision import backbones
    ----> 7 from icevision import models
          8 from icevision.metrics import *
          9 from icevision.visualize import *
    
    [/usr/local/lib/python3.7/dist-packages/icevision/models/__init__.py](https://localhost:8080/#) in <module>
         30 
         31 if SoftDependencies.sahi:
    ---> 32     from icevision.models import inference_sahi
    
    [/usr/local/lib/python3.7/dist-packages/icevision/models/inference_sahi.py](https://localhost:8080/#) in <module>
         12 
         13 
    ---> 14 from sahi.model import DetectionModel
         15 from sahi.prediction import ObjectPrediction
         16 from sahi.predict import get_sliced_prediction as sahi_get_sliced_prediction
    
    ModuleNotFoundError: No module named 'sahi.model'
    

    Screenshots

    Screenshot 2022-11-24 at 15 06 49

    Where it happens:

    • colab (possibly others, but I didn't have a chance to check)
    bug 
    opened by misza222 2
Releases(0.12.0)
  • 0.8.0(May 12, 2021)

    Supports pytorch 1.8

    Added

    • iou_thresholds parameter to COCOMetric
    • SimpleConfusionMatrix Metric
    • Negative samples support for yolov5
    • Negative samples support for mmdetection object detection models

    Changed

    • Breaking: Albumentations aug_tfms defaults.
      • rotate_limit changed from 45 to 15
      • rgb_shift_limit changed from 20 to 10
      • VOC parser uses image sizes from annotation file instead of image
      • bumps fastai to latest version (<2.4)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0rc1(May 12, 2021)

  • 0.7.1a1(Apr 29, 2021)

  • 0.7.0(Apr 19, 2021)

    [0.7.0]

    BREAKING: API Refactor

    Added

    • Metrics for mmdetection models

    Changed

    • Breaking: Renamed tasks default,detect,classif to common,detection,classification
    • Breaking: Renamed imageid to record_id
    • Breaking: Added parameter is_new to Parser.parse_fields
    • Removed all dependencies on cv2 for visualisation
    • Use new composite API for visualisation - covers user defined task names & multiple tasks
    • Added a ton of visualisation goodies to icevision.visualize.draw_data.draw_sample - user can now
      • use custom fonts
      • control mask thickness
      • control mask blending
      • prettify labels -- show confidence score & capitalise label
      • plot specific and/or exclude specific labels
      • pass in a dictionary mapping labels to specific colors
      • control label height & width padding from bbox edge
      • add border around label for legibility (color is a parameter)

    Breaking:: Rename labels->label_ids, labels_names->labels in LabelsRecordComponent

    • Renamed torchvision resnet backbones:
      • resnet_fpn.resnet18 -> resnet18_fpn
      • resnest_fpn.resnest18 -> resnest18_fpn

    Breaking: Added parameters sample and keep_image to convert_raw_prediction Breaking: Renamed VocXmlParser to VOCBBoxParser and VocMaskParser to VOCMaskParser Breaking: Renamed predict_dl to predict_from_dl

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0rc4(Apr 14, 2021)

  • 0.7.0rc3(Apr 13, 2021)

  • 0.7.0rc2(Mar 29, 2021)

  • 0.7.0rc1(Mar 24, 2021)

  • 0.6.0b1(Jan 27, 2021)

  • 0.5.2(Jan 3, 2021)

  • 0.5.0(Dec 9, 2020)

    [0.5.0]

    Added

    • Keypoints full support: data API, model and training
    • VGG Image Annotator v2 JSON format parser for bboxes
    • figsize parameter to show_record and show_sample

    Changed

    • improved visualisation for small bboxes
    • COCOMetric now returns all metrics from pycocotools
    • makes torchvision models torchscriptable
    Source code(tar.gz)
    Source code(zip)
  • 0.4.0post1(Nov 17, 2020)

  • 0.4.0(Nov 14, 2020)

    [0.4.0]

    Added

    • retinanet: model, dataloaders, predict, ...

    Changed

    • Breaking: models/rcnn renamed to models/torchvision_models
    • tests/models/rcnn renamed to tests/models/torchvision_models
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Nov 10, 2020)

    Added

    • pytorch 1.7 support, all dependencies updated
    • tutorial with hard negative samples
    • ability to skip record while parsing

    Changed

    • show_preds visual improvement
    Source code(tar.gz)
    Source code(zip)
  • 0.2.2.post2(Nov 3, 2020)

  • 0.2.2.post1(Nov 2, 2020)

  • 0.2.2(Oct 29, 2020)

    [0.2.2]

    Added

    • Cache records after parsing with the new parameter cache_filepath added to Parser.parse (#504)
    • Added pretrained: bool = True argument to both faster_rcnn and mask_rcnn model() methods. (#516)
    • new class EncodedRLEs
    • all masks get converted to EncodedRLEs at parsing time

    Changed

    • Removed warning on autofixing masks
    • RLE default counts is now COCO style
    • renamed Mask.to_erle to Mask.to_erles
    Source code(tar.gz)
    Source code(zip)
  • 0.2.1post1(Oct 20, 2020)

  • 0.2.1(Oct 20, 2020)

  • 0.2.0(Oct 19, 2020)

    IMPORTANT

    • Switched from poetry to setuptools

    Added

    • Function wandb_img_preds to help logging bboxes to wandb
    • wandb as a soft dependency
    • Template code for parsers.SizeMixin if parsers.FilepathMixin is used
    • Get image size without opening image with get_image_size
    • Ability to skip record while parsing with AbortParseRecord
    • Autofix for record: autofix_records function and autofix:bool parameter added to Parser.parse
    • Record class and mixins, create_mixed_record function to help creating Records
    • InvalidDataError for BBox
    • Catches InvalidDataError while parsing data

    Changed

    • Breaking: Unified parsers.SizeMixin functions image_width and image_height into a single function image_width_height
    • Rename Parser SizeMixin fields from width height to image_width image_height

    Deleted

    • Removed CombinedParser, all parsing can be done with the standard Parser
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0b5(Oct 19, 2020)

  • 0.2.0b4(Oct 19, 2020)

  • 0.2.0b3(Oct 14, 2020)

Owner
airctic
ice simple
airctic
Omdena-abuja-anpd - Automatic Number Plate Detection for the security of lives and properties using Computer Vision.

Omdena-abuja-anpd - Automatic Number Plate Detection for the security of lives and properties using Computer Vision.

Abdulazeez Jimoh 1 Jan 01, 2022
基于图像识别的开源RPA工具,理论上可以支持所有windows软件和网页的自动化

SimpleRPA 基于图像识别的开源RPA工具,理论上可以支持所有windows软件和网页的自动化 简介 SimpleRPA是一款python语言编写的开源RPA工具(桌面自动控制工具),用户可以通过配置yaml格式的文件,来实现桌面软件的自动化控制,简化繁杂重复的工作,比如运营人员给用户发消息,

Song Hui 7 Jun 26, 2022
A real-time dolly zoom camera effect

Dolly-Zoom I've always been amazed by the gradual perspective change of dolly zoom, and I have some experience in python and OpenCV, so I decided to c

Dylan Kai Lau 52 Dec 08, 2022
Introduction to image processing, most used and popular functions of OpenCV

👀 OpenCV 101 Introduction to image processing, most used and popular functions of OpenCV go here.

Vusal Ismayilov 3 Jul 02, 2022
轻量级公式 OCR 小工具:一键识别各类公式图片,并转换为 LaTeX 格式

QC-Formula | 青尘公式 OCR 介绍 轻量级开源公式 OCR 小工具:一键识别公式图片,并转换为 LaTeX 格式。 支持从 电脑本地 导入公式图片;(后续版本将支持直接从网页导入图片) 公式图片支持 .png / .jpg / .bmp,大小为 4M 以内均可; 支持印刷体及手写体,前

青尘工作室 26 Jan 07, 2023
TedEval: A Fair Evaluation Metric for Scene Text Detectors

TedEval: A Fair Evaluation Metric for Scene Text Detectors Official Python 3 implementation of TedEval | paper | slides Chae Young Lee, Youngmin Baek,

Clova AI Research 167 Nov 20, 2022
⛓ marc is a small, but flexible Markov chain generator

About marc (markov chain) is a small, but flexible Markov chain generator. Usage marc is easy to use. To build a MarkovChain pass the object a sequenc

Max Humber 65 Oct 27, 2022
Optical character recognition for Japanese text, with the main focus being Japanese manga

Manga OCR Optical character recognition for Japanese text, with the main focus being Japanese manga. It uses a custom end-to-end model built with Tran

Maciej Budyś 327 Jan 01, 2023
Developed an AI-based system to control the mouse cursor using Python and OpenCV with the real-time camera.

Developed an AI-based system to control the mouse cursor using Python and OpenCV with the real-time camera. Fingertip location is mapped to RGB images to control the mouse cursor.

Ravi Sharma 71 Dec 20, 2022
Table recognition inside douments using neural networks

TableTrainNet A simple project for training and testing table recognition in documents. This project was developed to make a neural network which reco

Giovanni Cavallin 93 Jul 24, 2022
Text recognition (optical character recognition) with deep learning methods.

What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis | paper | training and evaluation data | failure cases and cle

Clova AI Research 3.2k Jan 04, 2023
Rotational region detection based on Faster-RCNN.

R2CNN_Faster_RCNN_Tensorflow Abstract This is a tensorflow re-implementation of R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detecti

UCAS-Det 581 Nov 22, 2022
Amazing 3D explosion animation using Pygame module.

3D Explosion Animation 💣 💥 🔥 Amazing explosion animation with Pygame. 💣 Explosion physics An Explosion instance is made of a set of Particle objec

Dylan Tintenfich 12 Mar 11, 2022
Dataset and Code for ICCV 2021 paper "Real-world Video Super-resolution: A Benchmark Dataset and A Decomposition based Learning Scheme"

Dataset and Code for RealVSR Real-world Video Super-resolution: A Benchmark Dataset and A Decomposition based Learning Scheme Xi Yang, Wangmeng Xiang,

Xi Yang 91 Nov 22, 2022
Simple app for visual editing of Page XML files

Name nw-page-editor - Simple app for visual editing of Page XML files. Version: 2021.02.22 Description nw-page-editor is an application for viewing/ed

Mauricio Villegas 27 Jun 20, 2022
A tool for extracting text from scanned documents (via OCR), with user-defined post-processing.

The project is based on older versions of tesseract and other tools, and is now superseded by another project which allows for more granular control o

Maxim 32 Jul 24, 2022
Text layer for bio-image annotation.

napari-text-layer Napari text layer for bio-image annotation. Installation You can install using pip: pip install napari-text-layer Keybindings and m

6 Sep 29, 2022
Lightning Fast Language Prediction 🚀

whatthelang Lightning Fast Language Prediction 🚀 Dependencies The dependencies can be installed using the requirements.txt file: $ pip install -r req

Indix 152 Oct 16, 2022
【Auto】原神⭐钓鱼辅助工具 | 自动收竿、校准游标 | ✨您只需要抛出鱼竿,我们会帮你完成一切✨

原神钓鱼辅助工具 ✨ 作者正在努力重构代码中……会尽快带给大家一个更完美的脚本 ✨ 「您只需抛出鱼竿,然后我们会帮您搞定一切」 如果你觉得这个脚本好用,请点一个 Star ⭐ ,你的 Star 就是作者更新最大的动力 点击这里 查看演示视频 ✨ 欢迎大家在 Issues 中分享自己的配置文件 ✨ ✨

261 Jan 02, 2023
Text modding tools for FF7R (Final Fantasy VII Remake)

FF7R_text_mod_tools Subtitle modding tools for FF7R (Final Fantasy VII Remake) There are 3 tools I made. make_dualsub_mod.exe: Merges (or swaps) subti

10 Dec 19, 2022