The following are code examples for showing how to use . They are extracted from open source Python projects. You can vote up the examples you like or vote down the exmaples you don’t like. You can also save this page to your account.
Example 1
def _compute_extra_terms(Y, W, items_u, trustees_u): # Implicit information norm_Iu = math.sqrt(len(items_u)) # TODO: Clean this. Hint: np.nans y_term = 0 if norm_Iu > 0: y_sum = np.sum(Y[items_u, :], axis=0) y_term = y_sum / norm_Iu # Trust information w_term = 0 norm_Tu = math.sqrt(len(trustees_u)) if norm_Tu > 0: w_sum = np.sum(W[trustees_u, :], axis=0) w_term = w_sum / norm_Tu return y_term, w_term, norm_Iu, norm_Tu
Example 2
def write_metadata(hdf5_out, dim, metadata_df, convert_back_to_neg_666): """ Writes either column or row metadata to proper node of gctx out (hdf5) file. Input: - hdf5_out (h5py): open hdf5 file to write to - dim (str; must be "row" or "col"): dimension of metadata to write to - metadata_df (pandas DataFrame): metadata DataFrame to write to file - convert_back_to_neg_666 (bool): Whether to convert numpy.nans back to "-666", as per CMap metadata null convention """ if dim == "col": hdf5_out.create_group(col_meta_group_node) metadata_node_name = col_meta_group_node elif dim == "row": hdf5_out.create_group(row_meta_group_node) metadata_node_name = row_meta_group_node else: logger.error("'dim' argument must be either 'row' or 'col'!") # write id field to expected node hdf5_out.create_dataset(metadata_node_name + "/id", data=[str(x) for x in metadata_df.index]) metadata_fields = list(metadata_df.columns.copy()) # if specified, convert numpy.nans in metadata back to -666 if convert_back_to_neg_666: for c in metadata_fields: metadata_df[[c]] = metadata_df[[c]].replace([numpy.nan], ["-666"]) # write metadata columns to their own arrays for field in [entry for entry in metadata_fields if entry != "ind"]: hdf5_out.create_dataset(metadata_node_name + "/" + field, data=numpy.array(list(metadata_df.loc[:, field])))
Example 3
def test_NanGuardMode(): # Tests if NanGuardMode is working by feeding in numpy.inf and numpy.nans # intentionally. A working implementation should be able to capture all # the abnormalties. x = T.matrix() w = theano.shared(numpy.random.randn(5, 7).astype(theano.config.floatX)) y = T.dot(x, w) fun = theano.function( [x], y, mode=NanGuardMode(nan_is_error=True, inf_is_error=True) ) a = numpy.random.randn(3, 5).astype(theano.config.floatX) infa = numpy.tile( (numpy.asarray(100.) ** 1000000).astype(theano.config.floatX), (3, 5)) nana = numpy.tile( numpy.asarray(numpy.nan).astype(theano.config.floatX), (3, 5)) biga = numpy.tile( numpy.asarray(1e20).astype(theano.config.floatX), (3, 5)) fun(a) # normal values # Temporarily silence logger _logger = logging.getLogger("theano.compile.nanguardmode") try: _logger.propagate = False assert_raises(AssertionError, fun, infa) # INFs assert_raises(AssertionError, fun, nana) # NANs assert_raises(AssertionError, fun, biga) # big values finally: _logger.propagate = True # slices a = numpy.random.randn(3, 4, 5).astype(theano.config.floatX) infa = numpy.tile( (numpy.asarray(100.) ** 1000000).astype(theano.config.floatX), (3, 4, 5)) nana = numpy.tile( numpy.asarray(numpy.nan).astype(theano.config.floatX), (3, 4, 5)) biga = numpy.tile( numpy.asarray(1e20).astype(theano.config.floatX), (3, 4, 5)) x = T.tensor3() y = x[:, T.arange(2), T.arange(2)] fun = theano.function( [x], y, mode=NanGuardMode(nan_is_error=True, inf_is_error=True) ) fun(a) # normal values try: _logger.propagate = False assert_raises(AssertionError, fun, infa) # INFs assert_raises(AssertionError, fun, nana) # NANs assert_raises(AssertionError, fun, biga) # big values finally: _logger.propagate = True