Summary: 291 instances, 270 unique Text Count // TODO: This public method returns a pointer to an internal data structure 1 # TODO: The identifier "dict" should be made global unique in target name space 3 # TODO: Make sure observation noise is transformed correctly 1 # TODO: try pooling rather than just slicing out last hidden 1 # TODO: What about simplex matrices? It should be legal to do 1 # TODO: Check that there is one value for each case. 1 # TODO: compute unattributed via property 1 # TODO: If we save the patterns that failed as well, then we can build a 1 # TODO: Display as a tree and graph also 1 # TODO: If we have a slightly noncontiguous set of cases, say {0, 1, 3}, 1 // TODO: create Samples class and remove the following friend classes 1 # TODO: replace "log" with "log1mexp" as needed below and update defs 1 # TODO: Remove this. We should insert TO_REAL nodes when necessary 1 # TODO: This needs to be now set after self.new_dist has been instantiated 1 # TODO: Figure out a better way to pass this flag around 1 # TODO: add support for data pre-processing on random effects 1 # TODO: There are a great many more pure instance functions on tensors; 1 # TODO: Add classes, lambdas, and so on 1 # TODO: Consider adding a pass which optimizes away IF(X, Y, Y) to 1 # TODO: The original idea was to use these integers when generating code 1 # TODO: The graph should be acyclic by construction; 1 // TODO: this is the one actually used in code (as opposed to full_log_prob used 1 # TODO: If we have a contiguous set of cases, say {2, 3, 4}, then 1 # TODO: Consider adding a compiler version number, hash 1 # TODO: We should make a rewriter that detects stochastic index 1 # TODO: weird, but it should be legal. Figure out what the 1 # TODO: non-diagonal covariance 1 # TODO: add new `self.world_.params_` not already in optimizer 1 # TODO: We need a better error message for that scenario. 1 # TODO adjust log density on numerical runtime errors 1 # TODO: Handle the case where there are two inconsistent 1 # TODO: Would be slightly faster if we applied module filtering inside walk_packages 1 # TODO: There are two shortcomings to the current solution. First, it prints 1 # TODO: observations of the same sample 1 // TODO: Investigate the semantics of _backward(skip_observed), 1 # TODO: Consider producing a warning for this situation, because 1 // TODO: generalize so it works with any proposer, not just nmc_proposer: 1 # TODO: We could consider traversing only nodes reachable from 1 # TODO: The edge labels used to visualize the graph in DOT 1 # TODO: What if the observation is of a different size than the 1 # TODO: The identifier "dict" should be made global unique in target name space 1 # TODO: We do not collect statistics on memoization use here. 1 // TODO: the following is used in beta.cpp only. Does it really need to be here? 1 # TODO: We could bail out after the first failure. 1 # TODO: What if we have a non-tensor indexed with a stochastic value? 1 # TODO: Note that we only memoize calls to RVs when the arguments 1 # TODO: receiver? Do we recompile it on every call? Check this. 1 // TODO: As of May 2021, this method is being used for testing only. 1 // TODO: rename method to be more clear 1 // TODO: the reason for that is not clear; 1 # TODO: we may wish to add bounded integers to the BMG type system. 1 # TODO: This approximation is an over-estimate; for instance, when 1 """TODO have separate diagnostics for discrete variables. 2 # TODO: We do not canonicalize arguments as the memoizer does above. 1 # TODO: We do not yet have an implementation of the uniform 1 // TODO: eventually we want to have different classes of Node 1 # TODO: How should we deal with observations of 1 # TODO: a complex pattern. 1 # TODO: Make max_possibilities a global tweakable setting of the accumulator. 1 # TODO: What happens if we have a @functional that does not return 1 # TODO: The code in the "handle" methods which folds operations 1 # TODO: the "for" loop in Python supports an "else" clause which is only activated 1 # TODO: right thing to do is for this scenario. 1 # TODO: Would be helpful if we could track original source code locations. 1 # TODO: Ideally, would like to merge [1].ctx with the [0].ctx below 2 # TODO: The identifier "dict" should be made global unique in target name space 1 # TODO: we should sample from a transformed dist 1 # TODO: Torch supports both broadcasting and non-broadcasting versions 1 # TODO: Tensor comprehension patterns 1 // TODO: a lot of members used to be private, but we need access to them 1 // TODO: should we just remove it from Operator then? 1 # TODO: We might consider an optimization pass which does so. 1 # TODO: Better error 1 // TODO: this does not have to apply to parents only; make it a more general 1 # TODO: Memoize these, remove memoization of construction functions below. 1 # TODO: you might expect. 1 # TODO: Should we treat "x is y" the same as "x == y" when they are 1 # TODO: Consider detecting jitted functions which use the nonlocal statement, and 1 # TODO: We need to consider what happens if the consequence and alternative 1 # TODO: It is strange having a visualizer that edits the graph 1 # TODO: beanmachine.graph from beanmachine.ppl. I'll figure out why later; 1 # TODO: add support for random slope 1 # TODO: What happens if the function is a member of a class? 1 # TODO: In Python, (not tensor(x)) is equal to (not x). 1 # TODO: We use the DOT label of the node in the error messages here, 1 # TODO: This scenario is another opportunity for a warning or error, since 1 # TODO Move this to a utils module 1 # TODO: Better error message 1 # TODO: return None if we are unable to get the source 2 # TODO: categorical 1 # TODO: Add verbose level 1 # TODO: Consider allowing values that can be converted to tensors. 1 return variational_params; // TODO: this should have been defined as a field, 1 # TODO: 1 # TODO: diagnostic engine that describes why a value failed to match against 1 # TODO: Detect unsupported control flow 1 # TODO: what should we do about AnnAssign? 1 # TODO: more general enumeration 1 # TODO: assert statements are removed in bm_to_bmg; move that functionality here. 1 # TODO: Should it be legal at all in the graph? 1 # TODO: This is only used to remove observation sample node that 1 # TODO: Figure out how to desugar with expr as target : block 1 # TODO: Is there a better way to do this other than try it and see what happens? 1 # TODO: say something about formatted strings 1 # TODO: We need to find a good way to order things in this file 1 # TODO: The edge labels used to visualize the graph in DOT 1 # TODO: BMG requires it to be a *broadcast* matrix; what happens 1 # TODO: We now have matrix multiplication in BMG; finish this implementation 1 # TODO: dirichlet 1 // TODO: Include value of observation 1 # TODO: Consider asserting that the node is unsupported by BMG. 1 # TODO: Move this to bmg_requirements.py 1 # TODO: reinterpret batch dimension? 1 # TODO: Add a note here describing why it is important that the function 1 // TODO: clarify the meaning of log_prob_vals and log_prob_allchains 1 # TODO: This should be private 1 # TODO: Do we need to consider the scenario where we do not have 1 # TODO: The current code produces a bad error message experience because at 1 // TODO: Yeah, how? 1 // TODO: also used in tests only 1 # TODO: We can go further than this and eliminate all else clauses 1 # TODO later: all comparisons, all bitwise, floordiv, 1 # TODO: We could bail out after the first success. 1 # TODO: Get this into alpha order 1 # TODO: We can reduce "del" statements to one of three forms: "del x", "del x.y", "del x[y]" 1 # TODO: a good error if they do not. Alternatively, catch 1 // TODO: used for testing only, should integrate it with 1 # TODO: Note that this can be a considerable overestimate. For example, if we 1 # TODO: say something about classes 1 # TODO: This is a bit opaque. Add a helper method for this. 1 # TODO: Verify that the list is well-formed. 1 // TODO: rename to initialize_unconstrained_value_types 1 # TODO: We do not yet handle the case where we are converting from, say, 1 # TODO: caused by e.g. negative scales in `dist.Normal`; 1 // TODO: from now on, we have methods for adding nodes, checking validity, 1 # TODO: Support kwargs 1 # TODO: the "for" loop could be rewritten as fetching an iterator and iterating 1 # TODO: downstream observation likelihoods p(obs | rvid) 1 // TODO: Better display of matrices 1 # TODO: for now, we'll just turn off error checking in this module. 1 # TODO: We do not yet have a BMG node for Binomial 1 // TODO: shouldn't we then restrict them to those classes? See above. 1 // TODO: add simplex transform 1 # TODO: Consider producing a warning or error if we cannot determine which lambda 1 # TODO: Should we implement a general switch node in BMG? 1 # TODO: BMG requires that the target of a query be classified 1 # TODO: Matches "tensor" and "foo.tensor" 1 # TODO: In the type this function, both instances of the type Any should 1 // TODO: change type to ranged natural 2 // TODO: Add checks that the observed value is in range. 1 # TODO: Consider optimizing distributions where the tensor elements are all 1 # TODO: For reasons unknown, Pyre is unable to find type information about 1 # TODO: Should this be idempotent? 1 # TODO: Note that this rule combined with the previous rule 1 sto_node->get_unconstrained_value(true); // TODO: rename this function 1 # TODO: BMG requires that the target of a query be classified 1 # TODO: Allowing these constructions raises additional problems that 1 // TODO: Add checks that the observed values are in range. 1 # TODO: categorical logit 1 # * dict() is allowed. (TODO: this could be rewritten to {}) 1 # * TODO: There are similar exceptions for set and list; say what they are. 1 # TODO: Improve wording and diagnosis. 1 # TODO: Handle kwargs 1 # TODO: always_succeeds will be wrong for the returned object. 1 // TODO: identify code that depends on this, let it zero gradients 1 # TODO: Sort by total time of children - WARNING: Important not to sort by 1 # * [id] = id # TODO: What about tuples? 1 // TODO: tie samples directly to inference 1 # TODO: Add logging 1 // TODO: remove this error message and leave it to compute_gradients 1 // TODO: shouldn't we then restrict them to those classes? See below. 1 # TODO: It is NOT equal to (tensor(not x)), which is what 1 # TODO: Add other notes on ordering constraints here. 1 # TODO: This code is mostly but not entirely in alpha order 1 /* TODO: used in testing only; it looks like there has not been a need for it in 1 # TODO: Better error 10 # TODO: If we have exp(x) - 1 in the graph and x is known to be of type 1 # TODO: regular expression for sections that are visible initially: unfurled = "..." 1 # TODO: We might want to restrict this. For example, if we have 1 # TODO: Do addition and multiply need to be the multi- versions? 1 # TODO: Check that cases are all constant nodes. 1 # TODO: Handle svg images. 1 # TODO: We need to consider what happens if the value's types 1 # TODO: We don't have a subtraction node; we render this as 1 // TODO: it seems like the initializer is needing to know 1 # TODO: This code is not very well organized; consider sorting it 1 # TODO: We probably need to make a distinction between torch.mm and 1 # TODO: Consider what to do if the node type is Tensor. 2 # TODO: rename bmg outer variable to something less likely 1 // TODO: Review what members of this class can be made static. 1 # * id = simple_expression # TODO: List the simple expressions. 1 // TODO: review what really needs to be private or public in MH's API. 1 # TODO: **Observations are logically distinct from models.** 1 # TODO: messy, consider strategy pattern 1 # TODO: Base path for Docusaurus 2 content 1 # TODO: We could do better for the comparison operators because we known 1 # TODO: Verify that they do match. 1 // TODO: this should be delegated to steppers, since that's 1 # TODO: We might also need: 1 # TODO: 2 # TODO: This is only used to remove an observation; restrict it 1 # TODO: Should we also eliminate plain returns? We could rewrite 1 # TODO: We do not yet handle the case where we are converting from 1 # TODO: Do we need to specifically match just torch? What if there is an alias? 1 # TODO: Consider refactoring the common input checks for both methods 1 # TODO: If left is a ToMatrixNode then we can construct a second 1 # TODO: We have an ordering problem in the fixers: 1 # TODO: Should we produce some sort of warning here telling the user that 1 # TODO: Detect unsupported operators 1 # TODO: Suppose we have something like Uniform(1.0, 2.0). Can we replace that 1 // TODO: should change name to "Proposal" to better match the literature. 1 # TODO: say something about async 1 # TODO: Move this prod helper function out of bmg_nodes.py 1 # TODO: add a range check to make sure it fits into the integer 1 # TODO: Here we treat an observation as node which takes input 1 # TODO: What if we have an atomic type on one side and a 1x1 matrix 1 # TODO: which do we wish to support? 1 # TODO: Mark this as abstract 1 # TODO: matrix-valued samples? 1 # TODO: Should it be an error to add two unequal observations to one node? 1 # TODO: For now we support conjugate prior transformation on 2 # TODO: If we have arbitrary natural cases, say 1, 10, 101, then we could 1 # TODO: bottlenecking? 1 // TODO: why don't the initialization below to be done for _infer? 1 # TODO: As with observations, properly speaking there is no 1 # TODO: Generate a better error message for switches that we cannot yet 1 # TODO: do we need to a _sum_rightmost here? 1 # TODO: Figure out how to desugar try: body except expr as bar: body else: body finally: body 1 # TODO: remove once fixed upstream 1 # TODO: caused by e.g. negative scales in `dist.Normal`; 1 # TODO: Do we recompile it for different instances of the 1 # TODO: Better exception 1 # TODO: the exception if the call fails and replace it with 1 // TODO: Better display of simplexes 1 # TODO: say something about yield 1 # TODO: Update this comment 1 # TODO: We could support b ** n where b is bool and n is a natural 1 # TODO: say something about global / nonlocal 1 // TODO: can we make signature use a default generator then? 1 # TODO: This check can be removed if it is not a necessary condition. 2 # TODO: Do a sanity check that the arguments match and give 1 # TODO: This method is only here for testing purposes. Get rid of it. 1 # TODO: Add support for the Cauchy distribution as well. 1 # TODO: Try torch.distributions.utils.broadcast_all 1 # TODO: This will produce a bad error message experience. What we want to 1 # TODO: What should the result of NOT on a tensor be? 1 // TODO: Better display of factors. 1 # TODO: Handle the situation if there are tabs 1 # TODO: Consider adding a verification pass which ensures 1 # type information has already been cached. (TODO: Is this useful? Maybe remove it.) 1 # TODO: Better exception 3 // TODO: Check that an observed simplex is given a simplex. 1 # TODO soon: LogSumExp, ExpM1, Logm1exp 1 # TODO: Better naming convention. In particular, _rules is the reflexive 1 # TODO: Fix this error message for the case where we require 1 # TODO: a graph node? A functional that returns a constant is 1 # TODO: say something about conditional expressions 1 # TODO: say something about type annotations 1 # TODO: Unfortunately, the second rule does not match the actual behavior of 1 # TODO: a more informative error. 1 # FIXME: update the method to support customized prediction goal 1 # TODO: We might want to build a warning mechanism that informs the developer 1 # TODO: We could optimize -(-x) to x here. 1 # TODO: Make _rv_to_query public. Add it to BMGraphBuilder? 1 # TODO: Consider implementing some sort of warning for this case? 1 # TODO: This module is badly named; it really should be "python simplifier" or some 1 # TODO: We have a problem that we need to resolve regarding compilation of models 1 // TODO clarify why we need to reset gradients 1 # TODO: We use z_{1-alpha} instead of -z_alpha for compatibility 1 // TODO: rename log_abs_jacobian_determinant 1