def gamma_ramp_test(dut): Period = 10 clk = dut.clk cocotb.fork(gen_clk(clk, Period)) yield Timer(20 * Period) out_data_fp = data_gen() # Random test for i in range(0, 2**12): reset = 0 dv_in = 1 gamma_in = 0 data_in = i dut.reset = reset dut.dv_in = dv_in dut.gamma_in = gamma_in dut.data_in = data_in yield Timer(20 * Period) if abs(int(dut.data_out) - out_data_fp[data_in]) > 1 and reset == 0 and dv_in == 1: raise TestFailure("result is incorrect: %s != %s data_in = %s" % (str(int(dut.data_out)), str( out_data_fp[data_in]), str(data_in))) elif reset == 1 and int(dut.data_out) != 0: raise TestFailure("result is incorrect. Reset = %s dv = %s" % (str(reset), str(dut.dv_out))) elif dv_in == 1 and reset == 0 and int(dut.dv_out) == 1: dut._log.info("Ok!")
#!/usr/bin/env python import tifffile from functions import unet_model_3d, data_gen if __name__ == "__main__": image = tifffile.imread('traindata/training_input.tif') label = tifffile.imread('traindata/training_groundtruth.tif') res = 48 # 8*n window_size = (res, res, res) input_data = data_gen(image, window_size) label_data = data_gen(label, window_size) print('image size:', image.shape) print('data size:', input_data.shape) model = unet_model_3d((1,) + window_size) model.summary() batch_size = 8 no_epochs = 10 model.fit(input_data, label_data, batch_size=batch_size, epochs=no_epochs, verbose=1) model.save_weights('./3d_unet.h5')