code release for USENIX'22 paper `On the Security Risks of AutoML`

Related tags

Deep Learningautovul
Overview

This project is a minimized runnable project cut from trojanzoo, which contains more datasets, models, attacks and defenses. This repo will not be maintained.

This is a minimum code implementation of our USENIX'22 paper On the Security Risks of AutoML.

Abstract

The artifact discovers the vulnerability gap between manual models and automl models against various kinds of attacks (adversarial, poison, backdoor, extraction and membership) in image classification domain. It implements all datasets, models, and attacks used in our paper.
We expect the artifact could support the paper's claim that automl models are more vulnerable than manual models against various kinds of attacks, which could be explained by their small gradient variance.

Checklist

  • Binary: on pypi with any platform.
  • Model: ResNet and other model pretrained weights are available with --official flag to download them automatically at first running.
  • Data set: CIFAR10, CIFAR100 and ImageNet32.
    Use --download flag to download them automatically at first running.
    ImageNet32 requires manual set-up at their website due to legality.
  • Run-time environment:
    At any platform (Windows and Ubuntu tested).
    Pytorch and torchvision required. (CUDA recommended)
    adversarial-robustness-toolbox required for extraction attack and membership attack.
  • Hardware: GPU with CUDA support is recommended.
  • Execution: Model training and backdoor attack would be time-consuming. It would cost more than half day on a Nvidia Quodro RTX6000.
  • Metrics: Model accuracy, attack success rate, clean accuracy drop, cross entropy, f1 score, and auc.
  • Output: console output and saved model files (.pth).
  • Experiments: OS scripts.
  • How much disk space is required (approximately):
    less than 5GB.
  • How much time is needed to prepare workflow (approximately): within 1 hour.
  • How much time is needed to complete experiments (approximately): 3-4 days.
  • Publicly available: on GitHub.
  • Code licenses: GPL-3.
  • Archived: GitHub commit #XXXXXXX (todo).

Description

How to access

Hardware Dependencies

Recommend to use GPU with CUDA and CUDNN.
Less than 5GB disk space is needed.

Software Dependencies

You need to install python==3.9, pytorch==1.9.x, torchvision==0.10.x manually.

ART (IBM) required for extraction attack and membership attack.
pip install adversarial-robustness-toolbox

Data set

CIFAR10, CIFAR100 and ImageNet32.
Use --download flag to download them automatically at first running.
ImageNet32 requires manual set-up at their website due to legality.

Models

ResNet and other model pretrained weights are available with --official flag to download them automatically at first running.

Installation

(optional) Config Path

You can set the config files to customize data storage location and many other default settings. View /configs_example as an example config setting.
We support 3 configs (priority ascend):

  • package:
    (DO NOT MODIFY)
    autovul/base/configs/*.yml
    autovul/vision/configs/*.yml
  • user:
    ~/.autovul/configs/base/*.yml
    ~/.autovul/configs/vision/*.yml
  • workspace:
    ./configs/base/*.yml
    ./configs/vision/*.yml

Experiment Workflow

Bash Files

Check the bash files under /bash to reproduce our paper results.

Download Datasets

If you run it for the first time, please run bash ./bash/train.sh "--download" to download the dataset.

Train Models

You need to first run /bash/train.sh to get pretrained models.

Run Attacks

/bash/adv_attack.sh
/bash/poison.sh
/bash/backdoor.sh
/bash/extraction.sh
/bash/membership.sh

Run Other Exps

/bash/grad_var.sh
/bash/mitigation_backdoor.sh
/bash/mitigation_extraction.sh

For mitigation experiments, the architecture names in our paper map to:

  • darts-i : diy_deep
  • darts-ii : diy_no_skip
  • darts-iii: diy_deep_noskip

These are the 3 options for --model_arch {arch} (with --model darts)

Evaluation and Expected Result

Our paper claims that automl models are more vulnerable than manual models against various kinds of attacks, which could be explained by low gradient variance. Therefore, for each attack, we expect automl models to have:

Train

Most models around 96%-97% accuracy on CIFAR10.

Attack

For automl models on CIFAR10,

  • adversarial
    higher success rate (around 10%).
  • poison
    lower accuracy drop (around 5%).
  • backdoor
    higher success rate (around 2%) lower accuracy drop (around 1%).
  • extraction
    lower inference cross entropy (around 0.3).
  • membership
    higher auc (around 0.04).

Others

  • gradient variance
    automl with lower gradient variance (around 2.2).
  • mitigation architecture
    deep architectures (darts-i, darts-iii) have larger cross entropy for extraction attack (around 0.5), and higher accuracy drop for poisoning attack (around 7%).

Experiment Customization

Use -h or --help flag for example python files to check available arguments.

Comments
  • Bump docker/build-push-action from 2.7.0 to 2.8.0

    Bump docker/build-push-action from 2.7.0 to 2.8.0

    Bumps docker/build-push-action from 2.7.0 to 2.8.0.

    Release notes

    Sourced from docker/build-push-action's releases.

    v2.8.0

    • Allow specifying subdirectory with default git context (#531)
    • Add cgroup-parent, shm-size, ulimit inputs (#501)
    • Don't set outputs if empty or nil (#470)
    • docs: example to sanitize tags with metadata-action (#476)
    • docs: wrong syntax to sanitize repo slug (#475)
    • docs: test before pushing your image (#455)
    • readme: remove v1 section (#500)
    • ci: virtual env file system info (#510)
    • dev: update workflow (#499)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#160)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#469)
    • Bump tmpl from 1.0.4 to 1.0.5 (#465)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#451 #459)
    Commits
    • 1814d3d Merge pull request #531 from BeyondEvil/subdir-with-default-context
    • fc5a732 Add subdirectory for Git context
    • b1aeb11 Merge pull request #510 from crazy-max/venv
    • e31f93a ci: virtual env file system info
    • 9ed5823 Merge pull request #501 from crazy-max/new-inputs
    • 4222161 Merge pull request #500 from crazy-max/readme
    • 67ff4df add cgroup-parent, shm-size, ulimit inputs
    • 91274a0 sort flags
    • ff32939 readme: remove v1 section
    • 04841f2 Merge pull request #499 from crazy-max/update-workflow
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump docker/login-action from 1.10.0 to 1.12.0

    Bump docker/login-action from 1.10.0 to 1.12.0

    Bumps docker/login-action from 1.10.0 to 1.12.0.

    Release notes

    Sourced from docker/login-action's releases.

    v1.12.0

    • ECR: only set credentials if username and password are specified (#128)
    • Refactor to use aws-sdk v3 (#128)

    v1.11.0

    • ECR: switch implementation to use the AWS SDK (#126)
    • ecr input to specify whether the given registry is ECR (#123)
    • Test against Windows runner (#126)
    • Update instructions for Google registry (#127)
    • Update dev workflow (#111)
    • Small changes for GHCR doc (#86)
    • Update dev dependencies (#85)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#101)
    • Bump tmpl from 1.0.4 to 1.0.5 (#100)
    • Bump @​actions/core from 1.4.0 to 1.6.0 (#94 #103)
    • Bump codecov/codecov-action from 1 to 2 (#88)
    • Bump hosted-git-info from 2.8.8 to 2.8.9 (#83)
    • Bump node-notifier from 8.0.0 to 8.0.2 (#82)
    • Bump ws from 7.3.1 to 7.5.0 (#81)
    • Bump lodash from 4.17.20 to 4.17.21 (#80)
    • Bump y18n from 4.0.0 to 4.0.3 (#79)
    Commits
    • 42d299f Merge pull request #130 from crazy-max/ci-workflow
    • 4858b0b Update ci workflow
    • 1d7d864 Merge pull request #128 from Flydiverny/aws-sdk-v3
    • 5885569 refactor: use v3 sdk
    • d9927c4 Merge pull request #123 from crazy-max/ecr-input
    • b9a4d91 ecr input to specify whether the given registry is ECR
    • b20b9f5 Merge pull request #126 from crazy-max/aws-sdk
    • cb21399 ci: test against windows runner
    • faae4d6 ecr: switch implementation to use the AWS SDK
    • 4d84a3c Merge pull request #127 from crazy-max/carry-124
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump docker/login-action from 1.12.0 to 1.13.0

    Bump docker/login-action from 1.12.0 to 1.13.0

    Bumps docker/login-action from 1.12.0 to 1.13.0.

    Release notes

    Sourced from docker/login-action's releases.

    v1.13.0

    • Handle proxy settings for aws-sdk (#152)
    • Workload identity based authentication docs for GCR and GAR (#112)
    • Test login against ACR (#49)
    • Bump @​aws-sdk/client-ecr from 3.44.0 to 3.45.0 (#132)
    • Bump @​aws-sdk/client-ecr-public from 3.43.0 to 3.45.0 (#131)
    Commits
    • 6af3c11 Merge pull request #152 from crazy-max/aws-sdk-proxy
    • caca336 handle proxy settings for aws-sdk
    • 17f28ab Merge pull request #112 from dineshba/workload-identity-gcr-gar
    • a875dd0 Update readme with workload identity based authentication for GCR and GAR
    • 7948fff Merge pull request #49 from crazy-max/e2e-acr
    • 5fcefb9 Merge pull request #131 from docker/dependabot/npm_and_yarn/aws-sdk/client-ec...
    • 3bb2d08 Update generated content
    • 242fb9a Bump @​aws-sdk/client-ecr-public from 3.43.0 to 3.45.0
    • fa72313 Merge pull request #132 from docker/dependabot/npm_and_yarn/aws-sdk/client-ec...
    • 088f62a Update generated content
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump actions/github-script from 5 to 6

    Bump actions/github-script from 5 to 6

    Bumps actions/github-script from 5 to 6.

    Release notes

    Sourced from actions/github-script's releases.

    v6.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16 in #235, all scripts will now be run with Node 16 rather than Node 12.

    New Contributors

    Full Changelog: https://github.com/actions/github-script/compare/v5...v6.0.0

    v5.1.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/github-script/compare/v5.0.0...v5.1.0

    Commits
    • 9ac0880 Merge pull request #240 from actions/joshmgross/document-esm
    • 53cdbb4 Merge pull request #239 from actions/joshmgross/v6
    • 6b8d8aa Merge pull request #238 from actions/joshmgross/update-actions-core
    • 6689be4 Merge pull request #237 from actions/joshmgross/audit-fix
    • 5541733 Add an example using ESM import
    • cd8eebf Release version 6.0.0
    • 72fadf4 Update @actions/core to 1.6.0
    • d526c04 Update node-fetch license
    • 2c946f1 Run npm audit fix
    • 41e1ab4 Merge pull request #235 from thboop/patch-1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump docker/build-push-action from 2.7.0 to 2.9.0

    Bump docker/build-push-action from 2.7.0 to 2.9.0

    Bumps docker/build-push-action from 2.7.0 to 2.9.0.

    Release notes

    Sourced from docker/build-push-action's releases.

    v2.9.0

    • add-hosts input (#553 #555)
    • Fix git context subdir example and improve README (#552)
    • Add e2e tests for ACR (#548)
    • Add description on github-token option to README (#544)
    • Bump node-fetch from 2.6.1 to 2.6.7 (#549)

    v2.8.0

    • Allow specifying subdirectory with default git context (#531)
    • Add cgroup-parent, shm-size, ulimit inputs (#501)
    • Don't set outputs if empty or nil (#470)
    • docs: example to sanitize tags with metadata-action (#476)
    • docs: wrong syntax to sanitize repo slug (#475)
    • docs: test before pushing your image (#455)
    • readme: remove v1 section (#500)
    • ci: virtual env file system info (#510)
    • dev: update workflow (#499)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#160)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#469)
    • Bump tmpl from 1.0.4 to 1.0.5 (#465)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#451 #459)
    Commits
    • 7f9d37f Merge pull request #555 from crazy-max/fix-add-host
    • d745845 Fix add-hosts context
    • 1ca185b Merge pull request #553 from crazy-max/add-host
    • eebf87a add-host input
    • d8b0ca6 Merge pull request #552 from crazy-max/readme
    • da76737 Fix git context subdir example and improve README
    • 8c76bb7 Merge pull request #549 from docker/dependabot/npm_and_yarn/node-fetch-2.6.7
    • b598b2a Update generated content
    • eb2857f Bump node-fetch from 2.6.1 to 2.6.7
    • f4cf574 Merge pull request #548 from crazy-max/e2e-acr
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Reproduction of Attack Effectiveness of Membership Inference Attacks

    Reproduction of Attack Effectiveness of Membership Inference Attacks

    Thanks for sharing the source code of your excellent work!

    I tried to reproduce the experimental results of label-only membership inference attacks against various architectures in your paper. Here I followed the parameter settings in your paper (see Appendix B for more details) and the parameter settings in membership.py were modified as follows:

    max_iter = 50
    max_eval = 2500
    sample_size = 1000
    init_size = 100
    init_eval = 100
    

    And also, I used your pretrained models from Google Drive to conduct the experiments on the CIFAR10 dataset. The experimental results on the CIFAR10 dataset are shown below.

    |Architecture|AUC| |:-:|:-:| |BiT|0.5392| |DenseNet|0.5141| |DLA|0.5060| |ResNet|0.5049| |ResNext|0.5043| |VGG|0.6070| |WideResnet|0.5352| |AmoebaNet|0.5029| |DARTS|0.5220| |DrNAS|0.5192| |ENAS|0.5069| |NASNet|0.5285| |PC-DARTS|0.5087| |PDARTS|0.5271| |SGAS|0.5038| |SNAS|0.5081| |Random|0.5023|

    However, the experimental results show a phenomenon contrary to what you present in your paper, i.e., the manual architectures seem to be more vulnerable to membership inference attacks than the NAS architectures.

    Is there anything wrong with my parameter settings (I only modified the default parameter settings of membership.py in my experiments)? Or, do I need anything more to reproduce the experimental results of your paper?

    Thanks in advance!

    opened by MiracleHH 0
Owner
Ren Pang
Ren Pang, PhD at Penn State IST. Working on deep learning security about adversarial and backdoor attacks/defenses.
Ren Pang
Implementation of Kronecker Attention in Pytorch

Kronecker Attention Pytorch Implementation of Kronecker Attention in Pytorch. Results look less than stellar, but if someone found some context where

Phil Wang 16 May 06, 2022
PyTorch evaluation code for Delving Deep into the Generalization of Vision Transformers under Distribution Shifts.

Out-of-distribution Generalization Investigation on Vision Transformers This repository contains PyTorch evaluation code for Delving Deep into the Gen

Chongzhi Zhang 72 Dec 13, 2022
PyTorch implementation of Decoupling Value and Policy for Generalization in Reinforcement Learning

PyTorch implementation of Decoupling Value and Policy for Generalization in Reinforcement Learning

48 Dec 08, 2022
Implementation of Multistream Transformers in Pytorch

Multistream Transformers Implementation of Multistream Transformers in Pytorch. This repository deviates slightly from the paper, where instead of usi

Phil Wang 47 Jul 26, 2022
Bi-level feature alignment for versatile image translation and manipulation (Under submission of TPAMI)

Bi-level feature alignment for versatile image translation and manipulation (Under submission of TPAMI) Preparation Clone the Synchronized-BatchNorm-P

Fangneng Zhan 12 Aug 10, 2022
Provably Rare Gem Miner.

Provably Rare Gem Miner just another random project by yoyoismee.eth useful link main site market contract useful thing you should know read contract

34 Nov 22, 2022
A python library for self-supervised learning on images.

Lightly is a computer vision framework for self-supervised learning. We, at Lightly, are passionate engineers who want to make deep learning more effi

Lightly 2k Jan 08, 2023
Simple STAC Catalogs discovery tool.

STAC Catalog Discovery Simple STAC discovery tool. Just paste the STAC Catalog link and press Enter. Details STAC Discovery tool enables discovering d

Mykola Kozyr 21 Oct 19, 2022
Code for Transformer Hawkes Process, ICML 2020.

Transformer Hawkes Process Source code for Transformer Hawkes Process (ICML 2020). Run the code Dependencies Python 3.7. Anaconda contains all the req

Simiao Zuo 111 Dec 26, 2022
[CVPR 2020] Transform and Tell: Entity-Aware News Image Captioning

Transform and Tell: Entity-Aware News Image Captioning This repository contains the code to reproduce the results in our CVPR 2020 paper Transform and

Alasdair Tran 85 Dec 13, 2022
Implementation of CaiT models in TensorFlow and ImageNet-1k checkpoints. Includes code for inference and fine-tuning.

CaiT-TF (Going deeper with Image Transformers) This repository provides TensorFlow / Keras implementations of different CaiT [1] variants from Touvron

Sayak Paul 9 Jun 26, 2022
Text and code for the forthcoming second edition of Think Bayes, by Allen Downey.

Think Bayes 2 by Allen B. Downey The HTML version of this book is here. Think Bayes is an introduction to Bayesian statistics using computational meth

Allen Downey 1.5k Jan 08, 2023
A PyTorch implementation of Mugs proposed by our paper "Mugs: A Multi-Granular Self-Supervised Learning Framework".

Mugs: A Multi-Granular Self-Supervised Learning Framework This is a PyTorch implementation of Mugs proposed by our paper "Mugs: A Multi-Granular Self-

Sea AI Lab 62 Nov 08, 2022
Happywhale - Whale and Dolphin Identification Silver🥈 Solution (26/1588)

Kaggle-Happywhale Happywhale - Whale and Dolphin Identification Silver 🥈 Solution (26/1588) 竞赛方案思路 图像数据预处理-标志性特征图片裁剪:首先根据开源的标注数据训练YOLOv5x6目标检测模型,将训练集

Franxx 20 Nov 14, 2022
unofficial pytorch implement of "Squareplus: A Softplus-Like Algebraic Rectifier"

SquarePlus (Pytorch implement) unofficial pytorch implement of "Squareplus: A Softplus-Like Algebraic Rectifier" SquarePlus Squareplus is a Softplus-L

SeeFun 3 Dec 29, 2021
Enhancing Knowledge Tracing via Adversarial Training

Enhancing Knowledge Tracing via Adversarial Training This repository contains source code for the paper "Enhancing Knowledge Tracing via Adversarial T

Xiaopeng Guo 14 Oct 24, 2022
GNN-based Recommendation Benchma

GRecX A Fair Benchmark for GNN-based Recommendation Preliminary Comparison DiffNet-Yelp dataset (featureless) Algo 73 Oct 17, 2022

library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization

NLopt is a library for nonlinear local and global optimization, for functions with and without gradient information. It is designed as a simple, unifi

Steven G. Johnson 1.4k Dec 25, 2022
[ICCV 2021] Relaxed Transformer Decoders for Direct Action Proposal Generation

RTD-Net (ICCV 2021) This repo holds the codes of paper: "Relaxed Transformer Decoders for Direct Action Proposal Generation", accepted in ICCV 2021. N

Multimedia Computing Group, Nanjing University 80 Nov 30, 2022
Anagram Generator in Python

Anagrams Generator This is a program for computing multiword anagrams. It makes no effort to come up with sentences that make sense; it only finds ana

Day Fundora 5 Nov 17, 2022