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
> >
> >
> >
>
>
>

Reply via email to