QICK: Quantum Instrumentation Control Kit

Related tags

Deep Learningqick
Overview

QICK logo

QICK: Quantum Instrumentation Control Kit

The QICK is a kit of firmware and software to use the Xilinx RFSoC to control quantum systems.

It consists of:

Note: The firmware and software here is still very much a work in progress. This is an alpha release. We strive to be consistent with the APIs but cannot guarantee backwards compatibility.

Download and Installation

Follow the quick start guide located here to set up your board, install qick on your board, and run a Jupyter notebook example.

Documentation

The API documentation for QICK is available at: https://qick-docs.readthedocs.io/

The demo notebooks are intended as a tutorial. The first demos explain important features of the QICK system and walk you through how to write working QICK programs. The later demos provide examples of useful measurements you might make with the QICK. We recommend that new users read and understand all of the demos.

Updates

Frequent updates to the QICK firmware and software are made as pull requests. Each pull request will be documented with a description of the notable changes, including any changes that will require you to change your code. We hope that this will help you decide whether or not to update your local code to the latest version. We strive for, but cannot guarantee, bug-free and fully functional pull requests. We also do not guarantee that the demo notebooks will keep pace with every pull request, though we make an effort to update the demos after major API changes.

Tagged releases can be expected periodically. We recommend that everyone should be using at least the most recent release. We guarantee the following for releases:

  • The demo notebooks will be compatible with the QICK library, and will follow our current best recommendations for writing QICK programs.
  • The firmware images for all supported boards will be fully compatible with the library and the demo notebooks.
  • Release notes will summarize the pull request notes and explain both breaking API changes (what you need to change in your code) and improvements (why you should move to the new release).

We recommend that you "watch" this repository on GitHub to get automatic notifications of pull requests and releases.

Related Packages

There is one related package on Github:

Documentation source code: https://github.com/openquantumhardware/qick-docs

Contribute

You are welcome to contribute to QICK development by forking this repository and sending pull requests.

All contributions are expected to be consistent with PEP 8 -- Style Guide for Python Code.

We welcome comments, bug reports, and feature requests via GitHub Issues.

License

The QICK source code is licensed under the MIT license, which you can find in the LICENSE file. The QICK logo was designed by Dr. Christie Chiu.

You are free to use this software, with or without modification, provided that the conditions listed in the LICENSE file are satisfied.

Comments
  • ZCU208 DAC Clocking Issue

    ZCU208 DAC Clocking Issue

    This might be on the edge of applicability for qick-specific issues, but I thought I'd ask just the same. I've both a ZCU216 and ZCU208 in my lab, both with CLK204 and XM655 adapters (both ZCU's are cabled to the CLK104 module the same, and the SMAs on the XM655 are connected the same) The intent is to run qick on the ZCU208 because of our requirements. I've taken the ZCU216 Vivado model and adapted it to the ZCU208 (it was mostly an issue of reducing the number of DACs and adding axis terminators to the tproc and switch IPs where needed). The issue is the DAC clocks aren't being detected as locked. I see the following output from debug that I added in qick.py for both ZCU's:

    ZCU216 list_rf_blocks: configuring DACs and ADCs to list Adding DAC 2 DAC 2 - 0 slice enabled DAC 2 - 1 slice enabled DAC 2 - 2 slice enabled DAC 2 - 3 slice enabled Adding DAC 3 DAC 3 - 0 slice enabled DAC 3 - 1 slice enabled DAC 3 - 2 slice enabled Adding ADC 2 ADC 2 - 0 slice enabled ADC 2 - 2 slice enabled clocks_locked: dac_tiles= [2, 3] adc_tiles= [2] iTile DAC: 2 PLLLockStatus= 1 iTile DAC: 3 PLLLockStatus= 1 iTile ADC: 2 PLLLockStatus= 1 dac_locked: [False, False] adc_locked: [False] set_all_clks: board= ZCU216 resetting clocks: 245.76 491.52 lmk: [{'spi_device': PosixPath('/dev/spidev1.1'), 'compatible': 'lmk04828', 'num_bytes': 3}] lmx: [{'spi_device': PosixPath('/dev/spidev1.3'), 'compatible': 'lmx2594'}, {'spi_device': PosixPath('/dev/spidev1.2'), 'compatible': 'lmx2594'}] clocks_locked: dac_tiles= [2, 3] adc_tiles= [2] iTile DAC: 2 PLLLockStatus= 2 iTile DAC: 3 PLLLockStatus= 2 iTile ADC: 2 PLLLockStatus= 2 dac_locked: [True, True] adc_locked: [True]

    Note with the ZCU216 that the first call to clocks_locked shows both DACs and the ADC clock as not locked, and the second call to clocks_locks shows both DACs an the ADC clocks as locked (is the PLLLockStatus value from one of the status registers on the LMX2594?).

    ZCU208 list_rf_blocks: configuring DACs and ADCs to list Adding DAC 2 DAC 2 - 0 slice enabled DAC 2 - 2 slice enabled Adding DAC 3 DAC 3 - 0 slice enabled DAC 3 - 2 slice enabled Adding ADC 2 ADC 2 - 0 slice enabled ADC 2 - 1 slice enabled clocks_locked: dac_tiles= [2, 3] adc_tiles= [2] iTile DAC: 2 PLLLockStatus= 1 iTile DAC: 3 PLLLockStatus= 1 iTile ADC: 2 PLLLockStatus= 2 dac_locked: [False, False] adc_locked: [True] set_all_clks: board= ZCU208 resetting clocks: 245.76 491.52 lmk: [{'spi_device': PosixPath('/dev/spidev1.1'), 'compatible': 'lmk04828', 'num_bytes': 3}] lmx: [{'spi_device': PosixPath('/dev/spidev1.3'), 'compatible': 'lmx2594'}, {'spi_device': PosixPath('/dev/spidev1.2'), 'compatible': 'lmx2594'}] clocks_locked: dac_tiles= [2, 3] adc_tiles= [2] iTile DAC: 2 PLLLockStatus= 1 iTile DAC: 3 PLLLockStatus= 1 iTile ADC: 2 PLLLockStatus= 2 dac_locked: [False, False] adc_locked: [True]

    Note with the ZCU208 that the first call to clocks_locked shows both DAC clocks as not locked but the ADC as locked (this is odd), and the second call to clocks_locks shows both DACs still not locked but the ADC clock as locked. So the locked status doesn't change after the clocks are programmed (I do see the ZCU108 CLK104 PLL locked LEDs flash when the clocks are reset). Is there anything in the PetaLinux build that would cause this? I can run xrfclk.py and the Xilinx embeddedsw gitlab version, xrfclk.c, on both the ZCU216 and the ZCU208, and the CLK104 board PLL locked LEDs flash off, then on in both cases (for both the xrfclk.c built for Linux and the Python version). Can anyone think of something I've missed in the port that would cause this? Thank you!

    opened by jramsey123 13
  • tproc64x32 Number of Output Channels Configurable

    tproc64x32 Number of Output Channels Configurable

    Has there been any consideration given to making the tproc64x32 IP have a configurable number of output channels instead of fixed at eight, so that the number can be set in Vivado? The reason I ask is, that it appears as though it would be simpler to reduce the number of output channels on the tproc IP with my ZCU208 port than add more DACs with two more clock domains to make up the difference between the ZCU216 and ZCU208 DAC configuration.

    opened by jramsey123 12
  • Count register in qick.averager_program.RAveragerProgram will count ahead of experiment runs

    Count register in qick.averager_program.RAveragerProgram will count ahead of experiment runs

    When running the demo program “02_Sweeping_variables”, I try to change some parameters in the config dict (longer relax_delay, more reps and expts), I found some points in the middle got wrong data.

    The config dict I used is: config={"res_ch":7, # --Fixed "relax_delay":5000, # --Fixed "res_phase":0, # --Fixed "pulse_style": "const", # --Fixed "length":100, # [Clock ticks] "readout_length":200, # [Clock ticks] "pulse_gain":0, # [DAC units] "pulse_freq": 100, # [MHz] "adc_trig_offset": 100, # [Clock ticks] "reps":60, # New variables "expts": 40, "start":0, # [DAC units] "step":50# [DAC units] }

    And the result looks like: image

    If I change the relax_delay to 0, the result looks normal. image

    I try to debug this by looking into the acquire_round function of RAveragerProgram, and I think the problem is probably because the count register (which is accessed via tproc.tproc.single_read(addr=1) ) is counting ahead of the experiment runs.

    Here I added the following print lines around line 424 of qick.averager_program to keep track of this count register. image

    And I got outputs like: image

    It seems that whenever the tProcessor starts, this count register will directly jump to 8. For example in the result above, the relax_delay is 5ms, but the counter jump to 8 in 3.5e-5s. (Iterations after this seem to be fine, it will count to 9, 10, 11 after each relax_delay …… )

    I think this problem didn't show up for short relax_delay because the time python took to run from reading the counter to acquiring the data is long enough for the board to finish 8 more runs, so we didn't took data that doesn't exist yet. But for long relax_delay , when the counter count to 100, we actually only have 92 data in the buffer.

    opened by hatlabcz 7
  • R-type set command that takes a single register

    R-type set command that takes a single register

    The assembly "set" command takes in a bunch of registers for controlling various pulse parameters specific to the DAC (freq, phase, gain, etc.). The documentation shows: set ch, p, $ra, $rb, $rc, $rd, $re, $rt:

    This makes it quite annoying to use the set instruction for ADC / digital marker triggering. E.g. if I want to trigger an ADC readout or digital marker at a time defined in a register (so seti won't do), I need to configure $ra, $rb, $rc, $rd, $re, $rt instead of just $rt and a single register containing all of the marker/trigger bits.

    I think it would be nice to have a separate instruction for this purpose e.g. set2 ch, p, $ra, $rt where $ra contains all of the marker/trigger bits.

    opened by jacobfeder 6
  • Bug in tproc_ctrl

    Bug in tproc_ctrl

    Hi I am getting a weird bug when I do start up qick via a client Input (connecting to nameserver and printing out qick soc object):

    import Pyro4 from qick import * from qick import QickConfig Pyro4.config.SERIALIZER = "pickle" Pyro4.config.PICKLE_PROTOCOL_VERSION=4

    ns_host = '192.168.0.133' #ip of client pc where the nameserver is running ns_port = 8000 server_name = "myqick"

    ns = Pyro4.locateNS(host=ns_host, port=ns_port)

    soc = Pyro4.Proxy(ns.lookup(server_name)) soccfg = QickConfig(soc.get_cfg()) print(soccfg)

    Output:

    KeyError Traceback (most recent call last) Cell In [8], line 3 1 soc = Pyro4.Proxy(ns.lookup(server_name)) 2 soccfg = QickConfig(soc.get_cfg()) ----> 3 print(soccfg) File c:\users\chakram_meas\documents\github\qick\qick_lib\qick\qick_asm.py:48, in QickConfig.str(self) 47 def str(self): ---> 48 return self.description() File c:\users\chakram_meas\documents\github\qick\qick_lib\qick\qick_asm.py:88, in QickConfig.description(self) 86 lines.append("\n\t%d readout channels:" % (len(self['readouts']))) 87 for iReadout, readout in enumerate(self['readouts']): ---> 88 if readout['tproc_ctrl'] is None: 89 lines.append("\t%d:\t%s - controlled by PYNQ" % (iReadout, readout['ro_type'])) 90 else: KeyError: 'tproc_ctrl'

    This error does not occur when I run qick directly from xilinx board (instead of client/external pc)

    opened by EeshGupta 5
  • Readout with the board RFSoC4x2

    Readout with the board RFSoC4x2

    I am trying to characterize a qubit using the notebook for the qubit demo. The demo suggests doing the readout with a mixer and LO (on a ZCU111) but considering that the RFSoc4x2 board has a sampling frequency of 10Gsps I am trying to do it without mixer. But I am not getting any nice results.

    Is it possible to do readouts on this board without mixers? or should I use mixer and LO?

    opened by JavierSerranoGarcia 5
  • ZCU216 Board Description

    ZCU216 Board Description

    When I try to print out the following: soc = Pyro4.Proxy(ns.lookup(server_name)) soccfg = QickConfig(soc.get_cfg()) print(soccfg)

    The print line produces the following error:

    `KeyError Traceback (most recent call last) in 1 soc = Pyro4.Proxy(ns.lookup(server_name)) 2 soccfg = QickConfig(soc.get_cfg()) ----> 3 print(soccfg)

    c:_lib\python\qick\qick_lib\qick\qick_asm.py in str(self) 31 32 def str(self): ---> 33 return self.description() 34 35 def getitem(self, key):

    c:_lib\python\qick\qick_lib\qick\qick_asm.py in description(self) 76 readout['avg_maxlen'], readout['buf_maxlen'], readout['trigger_bit'], readout['tproc_ch'])) 77 ---> 78 lines.append("\n\t%d DACs:" % (len(self['dacs']))) 79 for dac in self['dacs']: 80 tile, block = [int(c) for c in dac]

    c:_lib\python\qick\qick_lib\qick\qick_asm.py in getitem(self, key) 34 35 def getitem(self, key): ---> 36 return self._cfg[key] 37 38 def setitem(self, key, val):

    KeyError: 'dacs'`

    Indeed when I print out the configuration using soccfg.get_cfg() I get the the output below which does not contain 'dacs'

    {'board': 'ZCU216', 'refclk_freq': 245.76, 'fs_proc': 430.08, 'gens': [{'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 0, 'tproc_ch': 1, 'dac': '20', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}, {'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 1, 'tproc_ch': 2, 'dac': '21', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}, {'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 2, 'tproc_ch': 3, 'dac': '22', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}, {'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 3, 'tproc_ch': 4, 'dac': '23', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}, {'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 4, 'tproc_ch': 5, 'dac': '30', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}, {'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 5, 'tproc_ch': 6, 'dac': '31', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}, {'type': 'axis_signal_gen_v4', 'maxlen': 65536, 'b_dds': 32, 'switch_ch': 6, 'tproc_ch': 7, 'dac': '32', 'fs': 6881.280000000001, 'f_fabric': 430.08, 'samps_per_clk': 16, 'maxv': 32766, 'maxv_scale': 1.0}], 'readouts': [{'avg_maxlen': 16384, 'buf_maxlen': 1024, 'b_dds': 32, 'adc': '20', 'fs': 2457.6, 'f_fabric': 307.2, 'trigger_bit': 14, 'tproc_ch': 0}, {'avg_maxlen': 16384, 'buf_maxlen': 1024, 'b_dds': 32, 'adc': '22', 'fs': 2457.6, 'f_fabric': 307.2, 'trigger_bit': 15, 'tproc_ch': 1}], 'iqs': [], 'tprocs': [{'trig_output': 0, 'pmem_size': 8192.0, 'dmem_size': 4096}]}

    opened by EeshGupta 5
  • programming an external LMX2595 LO from ZCU111

    programming an external LMX2595 LO from ZCU111

    Greetings from UC Berkeley.

    Thanks for the phenomenal work! I have followed the tutorials and got myself familiar with qick library.

    I am now planning to perform frequency conversion with an external LO and I have purchased LMX2595 evaluation board for this purpose. It is similar to the one used in the RFboard front end. I would like to be able to control it via SPI through Qick. I have followed the schematic and connected the SPI wires accordingly. However the SPI IPs are missing and I can't Initialize the board using RFQickSoc(). Any suggestion on how to load them and set the LO frequency to a particular frequency?

    Thanks, Mutasem

    image

    image

    opened by mutasemodeh 5
  • easier-to-understand way to go back to default refclk settings

    easier-to-understand way to go back to default refclk settings

    When reloading the QickSoC with an external_clk=False the setting did not change because the if condition was not fulfilled. Now it checks whether the clocks have previously been set to an external_clk or not.

    opened by kevinkiener 3
  • Changing signal generator

    Changing signal generator

    Hi, thank you for this excellent softare. I have a (potentially dumb) question on the signal generators - how is it possible to switch the type of generator? I am working on ZCU216 and all generators are axis_signal_gen_v4; I would like to use axis_sg_mux4_v2. Does it require recompiling the bitfile to change? Is there any documentation that would help (besides the qick docs)?

    Cheers

    opened by Cameron-Spence-Riverlane 2
  • Running Qick/PYNQ without root privileges on a RFSoC4x2

    Running Qick/PYNQ without root privileges on a RFSoC4x2

    We would like to install SLURM on the board to run Qick experiments but we are worried about having to do it as root. We know it is a Pynq limitation (see here).

    Do you know if there is any recent solution to this issue?

    opened by JavierSerranoGarcia 2
  • Using I/O port as Input by QICK library

    Using I/O port as Input by QICK library

    I found that i can use Digital output I/O port by using QICK library.

    But i also want to use Input function using QICK library.

    I searched some QICK library detail, but i have no idea how to do that.

    Do I have to use PYNQ library to use I/O input function?

    thank you.

    image

    opened by yyjun22 2
  • Changing tProc clk frequency (zcu111 board)

    Changing tProc clk frequency (zcu111 board)

    Hi i'm using zcu111 board to make DC signal and RF signal

    I want to know how to change clk frequency of tProc which is now 384MHz.

    Do I have to change some firmware code files? or are there any simple ways to change tProc clk frequency?

    thank you

    opened by yyjun22 1
  • Mapping between DAC pulse_gain and actual AXI number that feed into the DAC?

    Mapping between DAC pulse_gain and actual AXI number that feed into the DAC?

    Hi folks,

    I have a question about the mapping between DAC pulse_gain in the QICK configuration setting (in instructions it suggest us to try pulse_gain from 500 to 30000 DAC units). I want to know how does these numbers mapped to the AXI input number of the 14-bit DAC (0-8191)? Same question for the 12-bit ADC - how does the acquire_decimated return value mapped to the actual ADC output AXI word?

    Thanks! Zhizhen

    opened by zhizhenzhong 1
  • Raw DC data reading and writing on ZCU111 using qick

    Raw DC data reading and writing on ZCU111 using qick

    Hey folks, I'm trying to use the qick package to drive an optical setup. For part of my calibration procedure I need to be able to source raw numpy waveforms out of a DAC (no RF mixing) and measure the result on an ADC (again, no RF mixing/up or down converting).

    I was hoping that this would be straightforward to do with the qick package and you folks could help me do it. Best, -Zhizhen

    opened by zhizhenzhong 5
  • Negative differential DAC output from QICK signal generator

    Negative differential DAC output from QICK signal generator

    Hi,

    I am looking into generating a variable +ve or -ve DC signal using one of the QICK signal generators. To do so, I have connected the differential outputs of DAC228_T0_CH0 P and N terminals to an operational amplifier with a split-power supply (+3.3V, -3.3V) hoping to reject the common mode and generate a +ve/-ve DC signal.

    self.declare_gen(ch=0, nqz=1)
    self.set_pulse_registers(ch=0, freq=0, length=1000, phase=0, gain=g, style="const") 
    

    However, the DAC P voltage is always equal to or larger than the DAC N voltage when sweeping the gain value. I was expecting the signal generator to behave roughly like this with a bit of offset:

    DAC P=DAC N, when gain=0, DAC P>DAC N, when gain>0, DAC P< DAC N when gain<0.

    Is there a way to control this?

    Thanks, Mutasem

    opened by mutasemodeh 2
  • Use more ADC ports on ZCU111

    Use more ADC ports on ZCU111

    In the QICK overlay and also the example here https://github.com/openquantumhardware/qick/blob/main/qick_demos/00_Send_receive_pulse.ipynb, only two ADC ports (on ADC tile 0) are activated. Is there a code or design change possible to enable more ADC ports given that there are 8 of them on the ZCU111?

    opened by zhizhenzhong 4
Releases(v0.1.1)
  • v0.1.1(May 6, 2022)

  • v0.1.0(Apr 8, 2022)

    This is the QICK firmware and software version that was used for the QICK paper (https://arxiv.org/abs/2110.00557). Only the ZCU111 is supported.

    We're retroactively assigning this a release number.

    Source code(tar.gz)
    Source code(zip)
COPA-SSE contains crowdsourced explanations for the Balanced COPA dataset

COPA-SSE Repository for COPA-SSE: Semi-Structured Explanations for Commonsense Reasoning. COPA-SSE contains crowdsourced explanations for the Balanced

Ana Brassard 5 Jul 31, 2022
Code for "Hierarchical Skills for Efficient Exploration" HSD-3 Algorithm and Baselines

Hierarchical Skills for Efficient Exploration This is the source code release for the paper Hierarchical Skills for Efficient Exploration. It contains

Facebook Research 38 Dec 06, 2022
A library for uncertainty quantification based on PyTorch

Torchuq [logo here] TorchUQ is an extensive library for uncertainty quantification (UQ) based on pytorch. TorchUQ currently supports 10 representation

TorchUQ 96 Dec 12, 2022
SenseNet is a sensorimotor and touch simulator for deep reinforcement learning research

SenseNet is a sensorimotor and touch simulator for deep reinforcement learning research

59 Feb 25, 2022
3D position tracking for soccer players with multi-camera videos

This repo contains a full pipeline to support 3D position tracking of soccer players, with multi-view calibrated moving/fixed video sequences as inputs.

Yuchang Jiang 72 Dec 27, 2022
Pytorch Implementation of Value Retrieval with Arbitrary Queries for Form-like Documents.

Value Retrieval with Arbitrary Queries for Form-like Documents Introduction Pytorch Implementation of Value Retrieval with Arbitrary Queries for Form-

Salesforce 13 Sep 15, 2022
TaCL: Improving BERT Pre-training with Token-aware Contrastive Learning

TaCL: Improving BERT Pre-training with Token-aware Contrastive Learning Authors: Yixuan Su, Fangyu Liu, Zaiqiao Meng, Lei Shu, Ehsan Shareghi, and Nig

Yixuan Su 79 Nov 04, 2022
Disentangled Cycle Consistency for Highly-realistic Virtual Try-On, CVPR 2021

Disentangled Cycle Consistency for Highly-realistic Virtual Try-On, CVPR 2021 [WIP] The code for CVPR 2021 paper 'Disentangled Cycle Consistency for H

ChongjianGE 94 Dec 11, 2022
Nest Protect integration for Home Assistant. This will allow you to integrate your smoke, heat, co and occupancy status real-time in HA.

Nest Protect integration for Home Assistant Custom component for Home Assistant to interact with Nest Protect devices via an undocumented and unoffici

Mick Vleeshouwer 175 Dec 29, 2022
The code for our paper "AutoSF: Searching Scoring Functions for Knowledge Graph Embedding"

AutoSF The code for our paper "AutoSF: Searching Scoring Functions for Knowledge Graph Embedding" and this paper has been accepted by ICDE2020. News:

AutoML Research 64 Dec 17, 2022
Implementation of "Generalizable Neural Performer: Learning Robust Radiance Fields for Human Novel View Synthesis"

Generalizable Neural Performer: Learning Robust Radiance Fields for Human Novel View Synthesis Abstract: This work targets at using a general deep lea

163 Dec 14, 2022
Official DGL implementation of "Rethinking High-order Graph Convolutional Networks"

SE Aggregation This is the implementation for Rethinking High-order Graph Convolutional Networks. Here we show the codes for citation networks as an e

Tianqi Zhang (张天启) 32 Jul 19, 2022
HackBMU-5.0-Team-Ctrl-Alt-Elite - HackBMU 5.0 Team Ctrl Alt Elite

HackBMU-5.0-Team-Ctrl-Alt-Elite The search is over. We present to you ‘Health-A-

3 Feb 19, 2022
The source code for 'Noisy-Labeled NER with Confidence Estimation' accepted by NAACL 2021

Kun Liu*, Yao Fu*, Chuanqi Tan, Mosha Chen, Ningyu Zhang, Songfang Huang, Sheng Gao. Noisy-Labeled NER with Confidence Estimation. NAACL 2021. [arxiv]

30 Nov 12, 2022
EFENet: Reference-based Video Super-Resolution with Enhanced Flow Estimation

EFENet EFENet: Reference-based Video Super-Resolution with Enhanced Flow Estimation Code is a bit messy now. I woud clean up soon. For training the EF

Yaping Zhao 19 Nov 05, 2022
Using python and scikit-learn to make stock predictions

MachineLearningStocks in python: a starter project and guide EDIT as of Feb 2021: MachineLearningStocks is no longer actively maintained MachineLearni

Robert Martin 1.3k Dec 29, 2022
Tensorflow 2.x implementation of Panoramic BlitzNet for object detection and semantic segmentation on indoor panoramic images.

Deep neural network for object detection and semantic segmentation on indoor panoramic images. The implementation is based on the papers:

Alejandro de Nova Guerrero 9 Nov 24, 2022
Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk

Annoy Annoy (Approximate Nearest Neighbors Oh Yeah) is a C++ library with Python bindings to search for points in space that are close to a given quer

Spotify 10.6k Jan 04, 2023
Codebase for the solution that won first place and was awarded the most human-like agent in the 2021 NeurIPS Competition MineRL BASALT Challenge.

KAIROS MineRL BASALT Codebase for the solution that won first place and was awarded the most human-like agent in the 2021 NeurIPS Competition MineRL B

Vinicius G. Goecks 37 Oct 30, 2022
[NeurIPS'21] "AugMax: Adversarial Composition of Random Augmentations for Robust Training" by Haotao Wang, Chaowei Xiao, Jean Kossaifi, Zhiding Yu, Animashree Anandkumar, and Zhangyang Wang.

AugMax: Adversarial Composition of Random Augmentations for Robust Training Haotao Wang, Chaowei Xiao, Jean Kossaifi, Zhiding Yu, Anima Anandkumar, an

VITA 112 Nov 07, 2022