{"id":20024908,"url":"https://github.com/vigneswaran-chandrasekaran/flipflop_experiments","last_synced_at":"2026-05-12T17:46:50.112Z","repository":{"id":201183395,"uuid":"322583043","full_name":"vigneswaran-chandrasekaran/Flipflop_experiments","owner":"vigneswaran-chandrasekaran","description":"Experiments with Flip flop networks on a variety of tasks to check and showcase its generalization abilities","archived":false,"fork":false,"pushed_at":"2021-12-21T15:41:51.000Z","size":13791,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T16:48:56.391Z","etag":null,"topics":["rnn-tensorflow","sequential-models"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vigneswaran-chandrasekaran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2020-12-18T12:01:45.000Z","updated_at":"2024-10-26T12:20:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"090b3d73-e93d-43b1-b66f-4aa6c4bc6dc8","html_url":"https://github.com/vigneswaran-chandrasekaran/Flipflop_experiments","commit_stats":null,"previous_names":["vigneswaran-chandrasekaran/flipflop_experiments"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigneswaran-chandrasekaran%2FFlipflop_experiments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigneswaran-chandrasekaran%2FFlipflop_experiments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigneswaran-chandrasekaran%2FFlipflop_experiments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vigneswaran-chandrasekaran%2FFlipflop_experiments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vigneswaran-chandrasekaran","download_url":"https://codeload.github.com/vigneswaran-chandrasekaran/Flipflop_experiments/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241456245,"owners_count":19965813,"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","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"}},"keywords":["rnn-tensorflow","sequential-models"],"created_at":"2024-11-13T08:52:17.358Z","updated_at":"2026-05-12T17:46:50.057Z","avatar_url":"https://github.com/vigneswaran-chandrasekaran.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flipflop Experiments\n\nRepository contains list of experiments in various applications to showcase\nthe generalization capacity of flipflop network\n\n## List of experiments\n\n- [Shakespeare text generation](#shakespeare-text-generation)\n\n- [Handwriting generation](#handwriting-generation)\n\n- [UCF 11/101 action recognition](#ucf11-action-recognition)\n\n- [Moving squares next frame prediction](#moving-squares)\n\n- Signal reconstruction\n\n- Predict lung volume from CT scans\n\n- Predict next frame in moving MNIST\n\n- Phoneme recognition\n\n- Name origin classification\n\n- Magenta sketch\n\n---\n\n### Shakespeare text generation\n\nText generation model trained at character-level.\n\nCode directory: `shakespeare/`\n\nSample output of flipflop network,\n\n```\nROMEO:\nIs not it! Voluble; give your general saint;\nShe were all: this is come brush'd alove,\nAnd traitor him for rude, that back again; yet sure,\nYet a mind bid me with repity here.\n\nRICHOOS:\nI have becamed done, as you perchance and tell thereof,\nBoth in the beggar hate, conlein on thy brother:\nYet beggar to the faith, yet he, as he' whom was\nThat I, unreasons, with a leave, and blunt goodly.\n\nKING EDWARD IV:\nNow it that violent cuttain\nPresence; and weigh affection,\nHis troth?--'tod God, I!\nShall I am never speak, that I have gone.\n\nVentious,\nShe have is lates of that say the cincer:\nUnder the sortuness joy is fooler;\nAnd rather mother from the banish.\nVery go twal liberty, who comest thou\ndeny to and time, and soil-whum doublied mine.\nBecause hath he shall have entertatching dam\nOur pace of darmward in govern wing\nOf fly.\n\nFirst Keeper: I willow'd with chamber, to been the people.\nCall, not breathed more authority to with some\njefty malice; thou art dangerous are not news\nIs news Petruch\n```\n\n**Performance comparison with LSTM**\n\n![loss curves](shakespeare/images/loss_plot.png \"Training Loss curve\")\n\n### Handwriting generation\n\nHandwriting generation model trained on IAM online handwriting data. The\narchitecture used is similar to\n[Generating Sequences With Recurrent Neural Networks](https://arxiv.org/abs/1308.0850)\n\nThe data preprocessing and config files are taken from\n[github.com/snowkylin/rnn-handwriting-generation](https://github.com/snowkylin/rnn-handwriting-generation)\n\nCode directory: `handwriting-gen/ff` contains flipflop's and `handwriting-gen/lstm`\ncontains LSTM's. Saved models for both are available\n\n**Performance comparison with LSTM**\n\nFlipflop output - 'how are you?'\n\n![Flipflop output - 'how are you?'](handwriting-gen/ff/sample1.svg \"Flipflop output - 'how are you?'\")\n\nLSTM output - 'how are you?'\n\n![LSTM output - 'how are you?'](handwriting-gen/lstm/sample1.svg \"LSTM output - 'how are you?'\")\n\nFlipflop output - 'sometime'\n\n![Flipflop output - 'sometime'](handwriting-gen/ff/sample2.svg \"Flipflop output - 'sometime'\")\n\nLSTM output - 'sometime'\n\n![LSTM output - 'sometime'](handwriting-gen/lstm/sample2.svg \"LSTM output - 'sometime'\")\n\nFlipflop output - 'Bonjour'\n\n![Flipflop output - 'Bonjour'](handwriting-gen/ff/sample3.svg \"Flipflop output - 'Bonjour'\")\n\nLSTM output - 'Bonjour'\n\n![LSTM output - 'Bonjour'](handwriting-gen/lstm/sample3.svg \"LSTM output - 'Bonjour'\")\n\n\n### UCF11 Action Recognition\n\nAction recognition model trained on UCF 11 dataset. Convolutional Flipflop\nlayer is used in flipflop model. Convolutional flipflop is similar to `tensorflow.keras.layers.ConvLSTM2D`.\n\nThe classification accuracy of flipflop was 99.3% whereas 98.5% for LSTM\n\nCode dir: `ucf11/`\n\n### Moving squares\n\nExample taken from [Keras docs example for ConvLSTM2D]. Model should predict the\nnext frame in a movie of moving squares\n\nSample output of ConvFF and ConvLSTM:\n\n![Actual frame](moving_squares/actual.png \"Actual frame\")\n\n![Frame predicted by ConvLSTM2D](moving_squares/lstm_pred.png \"Frame predicted by ConvLSTM2D\")\n\n![Frame predicted by ConvFF2D](moving_squares/ff_pred.png \"Frame predicted by ConvFF2D\")\n\n### Signal reconstruction\n\nCheck sequence generation capacity of the model. Two types of signals (of labels `001` and `011`)\nshould be generated with MSE as the loss\n\nSample signal images,\n\n![Signal of type 1](signal_reconstruction/sign1.png \"Signal of type 1\")\n\n![Signal of type 2](signal_reconstruction/sign2.png \"Signal of type 2\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvigneswaran-chandrasekaran%2Fflipflop_experiments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvigneswaran-chandrasekaran%2Fflipflop_experiments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvigneswaran-chandrasekaran%2Fflipflop_experiments/lists"}