AI-MXNet
view release on metacpan or search on metacpan
lib/AI/MXNet/RecordIO.pm view on Meta::CPAN
method close()
{
return if not $self->is_open;
$self->SUPER::close();
$self->fidx(undef);
}
=head2 seek
Query current read head position.
=cut
method seek(Int $idx)
{
assert(not $self->writable);
my $pos = $self->idx->{$idx};
check_call(AI::MXNetCAPI::RecordIOReaderSeek($self->handle, $pos));
}
=head2 tell
Query current write head position.
=cut
method tell()
{
assert($self->writable);
return scalar(check_call(AI::MXNetCAPI::RecordIOWriterTell($self->handle)));
}
=head2 read_idx
Read record with the index.
Parameters:
-----------
$idx
=cut
method read_idx(Int $idx)
{
$self->seek($idx);
return $self->read();
}
=head2 write_idx
Write record with index.
Parameters:
-----------
Int $idx
Str $buf
=cut
method write_idx(Int $idx, Str $buf)
{
my $pos = $self->tell();
$self->write($buf);
my $f = $self->fidx;
print $f "$idx\t$pos\n";
$self->idx->{$idx} = $pos;
push @{ $self->keys }, $idx;
}
1;
( run in 0.692 second using v1.01-cache-2.11-cpan-39bf76dae61 )