All Projects → Zero-Shot → Zero-Shot-Learning

Zero-Shot / Zero-Shot-Learning

Licence: MIT license
A python ZSL system which makes it easy to run Zero-Shot Learning on new datasets, by giving it features and attributes. Used for the paper "Zero-Shot Learning Based Approach For Medieval Word Recognition Using Deep-Learned Features", published in ICFHR2018.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Zero-Shot-Learning

Natural-language-understanding-papers
NLU: domain-intent-slot; text2SQL
Stars: ✭ 77 (+266.67%)
Mutual labels:  zero-shot-learning
neuron-importance-zsl
[ECCV 2018] code for Choose Your Neuron: Incorporating Domain Knowledge Through Neuron Importance
Stars: ✭ 56 (+166.67%)
Mutual labels:  zero-shot-learning
Awesome Domain Adaptation
A collection of AWESOME things about domian adaptation
Stars: ✭ 3,357 (+15885.71%)
Mutual labels:  zero-shot-learning
synse-zsl
Official PyTorch code for the ICIP 2021 paper 'Syntactically Guided Generative Embeddings For Zero Shot Skeleton Action Recognition'
Stars: ✭ 14 (-33.33%)
Mutual labels:  zero-shot-learning
Awesome-Weak-Shot-Learning
A curated list of papers, code and resources pertaining to weak-shot classification, detection, and segmentation.
Stars: ✭ 142 (+576.19%)
Mutual labels:  zero-shot-learning
domain-adaptation-capls
Unsupervised Domain Adaptation via Structured Prediction Based Selective Pseudo-Labeling
Stars: ✭ 43 (+104.76%)
Mutual labels:  zero-shot-learning
gzsl-od
Out-of-Distribution Detection for Generalized Zero-Shot Action Recognition
Stars: ✭ 47 (+123.81%)
Mutual labels:  zero-shot-learning
CE-GZSL
Codes for the CVPR 2021 paper: Contrastive Embedding for Generalized Zero-Shot Learning
Stars: ✭ 73 (+247.62%)
Mutual labels:  zero-shot-learning
FREE
Codes for the ICCV'21 paper "FREE: Feature Refinement for Generalized Zero-Shot Learning"
Stars: ✭ 28 (+33.33%)
Mutual labels:  zero-shot-learning
adapt
Awesome Domain Adaptation Python Toolbox
Stars: ✭ 46 (+119.05%)
Mutual labels:  zero-shot-learning
Feature-Generating-Networks
Zero Shot Learning with Feature Generating Networks
Stars: ✭ 31 (+47.62%)
Mutual labels:  zero-shot-learning
deep-eos
General-Purpose Neural Networks for Sentence Boundary Detection
Stars: ✭ 66 (+214.29%)
Mutual labels:  zero-shot-learning
hierse
Zero-shot image tagging by hierarchical semantic embedding
Stars: ✭ 77 (+266.67%)
Mutual labels:  zero-shot-learning
Zero-Shot-Learning
零样本学习
Stars: ✭ 20 (-4.76%)
Mutual labels:  zero-shot-learning
class-norm
Class Normalization for Continual Zero-Shot Learning
Stars: ✭ 34 (+61.9%)
Mutual labels:  zero-shot-learning
zero shot learning
A Visual-semantic embedding model using word2vec and CNNs
Stars: ✭ 13 (-38.1%)
Mutual labels:  zero-shot-learning
Awesome-Zero-Shot-Object-Detection
No description or website provided.
Stars: ✭ 89 (+323.81%)
Mutual labels:  zero-shot-learning
few shot dialogue generation
Dialogue Knowledge Transfer Networks (DiKTNet)
Stars: ✭ 24 (+14.29%)
Mutual labels:  zero-shot-learning
good robot
"Good Robot! Now Watch This!": Repurposing Reinforcement Learning for Task-to-Task Transfer; and “Good Robot!”: Efficient Reinforcement Learning for Multi-Step Visual Tasks with Sim to Real Transfer
Stars: ✭ 84 (+300%)
Mutual labels:  zero-shot-learning
ZS SDL
Official Pytorch Implementation of: "Semantic Diversity Learning for Zero-Shot Multi-label Classification"(ICCV, 2021) paper
Stars: ✭ 22 (+4.76%)
Mutual labels:  zero-shot-learning

Zero-Shot-Learning

A pyhton ZSL system which makes it easy to run Zero-Shot Learning on new datasets, by giving it features and attributes. Based on “An embarrassingly simple approach to zero-shot learning”, presented at ICML 2015.

Dependencies

The dependencies can be found in the requirements.txt file. These can be installed by doing pip install -r path/to/requirements.txt.

Usage

The system is designed to be easy to setup and run. In the folowing sections we will state how the system can be run.

Files

The system uses three files:

  • Xtrain: this includes all the features for every instance the training set.
  • Xtest: this includes all the features for every instance in the testing set.
  • Smatrix: this includes all the attributes of all the classes.

All the files should be kept in the same directory while running the system. The files should be named exactly like stated above.

Format

The X files should contain lines for every instance: Each line starts with the class number and is followed by an undefined number of features. The features must range from 0 to 1. The class numbers should start at 0 and go up to the number of classes that are available in the complete dataset minus one (so training set and test set).

The S file should contain lines for every class: every line starts with the classname or classnumber (this is not used in the code, so you can decide yourself) and is followed by the attribute values for said class.

Running

First a ZSL object has to be created, which needs the path to the dataset.

The parameters of the values have to be set in the python code. This is done by creating a ZSL object and performing set_parameters(). This takes three lists of parameter values. Note that the value 0 in the kernel_sigmas denotes the use of the linear kernel.

After the creation of a ZSL object, when the parameters are all set, the system is ready. To run the system run() can be called, this returns a result. The result can then be used to output files or show the performance in the terminal.

For an example, look at Run.py.

Preprocessing Scripts

An S matrix can automatically be generated in two formats; Default and Split. The default version gives you an S Matrix with X + 1 attributes per word. The Split version gives 4 * X attributes + 1 per word.

These scripts can be found as createS-4Split.py and createS.py.

They both take 3 arguments:

  • An alphabet file (this holds all the attributes per letter letter in the script)
  • A file containing all the words you want to process. Each line needs to start with a number, followed by a space and then followed by the word (Example below)
  • The output file

Two alphabet files are already included in the directory. These can be used for latin characters. Other alphabet files for other scripts (like Arabic) could be created in a similar manner.

So, in conclusion, the scripts can be called like this: python3 createS.py alphabet.csv words.txt Smatrix.

Word file example:
1 testing
2 other
3 zero

Cite

If you make use of this software or want to refer to it, please cite the following paper: "Zero-Shot Learning Based Approach For Medieval Word Recognition Using Deep-Learned Features", published in ICFHR2018.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].