that's a good point - there are still some classes of recompile optimizations and rewrites that do not apply to frames yet. I'll look into it.
Regards, Matthias From: Deron Eriksson <[email protected]> To: [email protected] Date: 07/05/2016 04:14 PM Subject: Re: print a value in a frame? Hi Matthias, Perhaps I'm doing something wrong? If I try the following: M = read($Min, data_type='frame', format='csv'); print(as.scalar(M[1,1])); where the csv file is "one, two\nthree four", I am seeing: Caused by: java.lang.ClassCastException: org.apache.sysml.runtime.controlprogram.caching.FrameObject cannot be cast to org.apache.sysml.runtime.controlprogram.caching.MatrixObject at org.apache.sysml.hops.recompile.LiteralReplacement.replaceLiteralValueTypeCastRightIndexing (LiteralReplacement.java:306) Deron On Sun, Jul 3, 2016 at 1:11 PM, Matthias Boehm <[email protected]> wrote: > quick correction: I meant to say, option 2 because you have a frame of > strings (option 3 is only possible if you have numeric/boolean data). Btw, > it's fixed now - so please go ahead and give it a try. Thanks. > > > Regards, > Matthias > > [image: Inactive hide details for Deron Eriksson ---06/29/2016 01:40:01 > PM---Thanks for the quick reply. I'll use the toString() for no]Deron > Eriksson ---06/29/2016 01:40:01 PM---Thanks for the quick reply. I'll use > the toString() for now (for a unit test). > > From: Deron Eriksson <[email protected]> > To: [email protected] > Date: 06/29/2016 01:40 PM > Subject: Re: print a value in a frame? > ------------------------------ > > > > Thanks for the quick reply. I'll use the toString() for now (for a unit > test). > > Deron > > On Wed, Jun 29, 2016 at 1:28 PM, Matthias Boehm <[email protected]> wrote: > > > option 3 is possible but probably needs a fix. Alternatively, you can use > > print(toString(M)) which is implemented similar to the matrix toString (). > > > > Regards, > > Matthias > > > > [image: Inactive hide details for Deron Eriksson ---06/29/2016 01:23:41 > > PM---How do I print a value in a frame? Suppose I have the foll]Deron > > Eriksson ---06/29/2016 01:23:41 PM---How do I print a value in a frame? > > Suppose I have the following 2x2 csv file: > > > > From: Deron Eriksson <[email protected]> > > To: [email protected] > > Date: 06/29/2016 01:23 PM > > Subject: print a value in a frame? > > ------------------------------ > > > > > > > > > How do I print a value in a frame? > > > > Suppose I have the following 2x2 csv file: > > one,two > > three,four > > > > I read it in with: > > M = read($Min, data_type='frame', format='csv'); > > > > (1) > > If I try: > > print(M[1,1]); > > I get: > > ERROR: null -- line 1, column 0 -- print statement can only print > scalars > > > > (2) > > If I try: > > print(as.scalar(M[1,1])); > > I get: > > ERROR: null -- line 2, column 7 -- Expecting matrix parameter for > > function CAST_AS_SCALAR > > > > (3) > > If I try: > > print(as.scalar(as.matrix(M[1,1]))); > > I get: > > > > > > > file:/.../src/test/scripts/org/apache/sysml/api/mlcontext/one-two-three-four.csv > > not a SequenceFile > > > > Thanks, > > Deron > > > > > > > > >
