You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sm...@apache.org on 2013/06/15 15:25:35 UTC
svn commit: r1493351 -
/mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineLogisticRegressionTest.java
Author: smarthi
Date: Sat Jun 15 13:25:35 2013
New Revision: 1493351
URL: http://svn.apache.org/r1493351
Log:
MAHOUT-1263: Serialize/Deserialize Lambda value for OnlineLogisticRegression - code cleanup
Modified:
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineLogisticRegressionTest.java
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineLogisticRegressionTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineLogisticRegressionTest.java?rev=1493351&r1=1493350&r2=1493351&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineLogisticRegressionTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineLogisticRegressionTest.java Sat Jun 15 13:25:35 2013
@@ -21,6 +21,7 @@ import com.google.common.base.Charsets;
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import com.google.common.io.Closer;
import com.google.common.io.Resources;
import org.apache.mahout.common.RandomUtils;
import org.apache.mahout.math.DenseVector;
@@ -272,7 +273,6 @@ public final class OnlineLogisticRegress
/**
* Test for Serialization/DeSerialization
*
- * @throws Exception
*/
@Test
public void testSerializationAndDeSerialization() throws Exception {
@@ -284,16 +284,28 @@ public final class OnlineLogisticRegress
.decayExponent(-0.02);
lr.close();
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);
- PolymorphicWritable.write(dataOutputStream, lr);
- byte[] output = byteArrayOutputStream.toByteArray();
- byteArrayOutputStream.close();
-
- ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(output);
- DataInputStream dataInputStream = new DataInputStream(byteArrayInputStream);
- OnlineLogisticRegression read = PolymorphicWritable.read(dataInputStream, OnlineLogisticRegression.class);
- read.close();
+
+ byte[] output;
+ Closer closer = Closer.create();
+
+ try {
+ ByteArrayOutputStream byteArrayOutputStream = closer.register(new ByteArrayOutputStream());
+ DataOutputStream dataOutputStream = closer.register(new DataOutputStream(byteArrayOutputStream));
+ PolymorphicWritable.write(dataOutputStream, lr);
+ output = byteArrayOutputStream.toByteArray();
+ } finally {
+ closer.close();
+ }
+
+ OnlineLogisticRegression read;
+
+ try {
+ ByteArrayInputStream byteArrayInputStream = closer.register(new ByteArrayInputStream(output));
+ DataInputStream dataInputStream = closer.register(new DataInputStream(byteArrayInputStream));
+ read = closer.register(PolymorphicWritable.read(dataInputStream, OnlineLogisticRegression.class));
+ } finally {
+ closer.close();
+ }
//lambda
Assert.assertEquals((1.0e-3), read.getLambda(), 1.0e-7);