mirror of
https://github.com/geekwenjie/SmartJavaAI.git
synced 2026-09-12 20:58:51 +00:00
新增翻译模块:支持200多语言翻译
This commit is contained in:
@@ -49,6 +49,7 @@ public class R<T> {
|
||||
INVALID_IMAGE(1, "图像无效"),
|
||||
FILE_NOT_FOUND(2, "图像文件不存在"),
|
||||
NO_FACE_DETECTED(3, "未检测到人脸"),
|
||||
PARAM_ERROR(4, "参数错误"),
|
||||
Unknown(-1, "未知错误");
|
||||
|
||||
private final int code;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package cn.smartjavaai.common.pool;
|
||||
|
||||
import ai.djl.inference.Predictor;
|
||||
import ai.djl.repository.zoo.ZooModel;
|
||||
import ai.djl.translate.NoBatchifyTranslator;
|
||||
import org.apache.commons.pool2.BasePooledObjectFactory;
|
||||
import org.apache.commons.pool2.PooledObject;
|
||||
import org.apache.commons.pool2.impl.DefaultPooledObject;
|
||||
|
||||
/**
|
||||
* @author dwj
|
||||
* @date 2025/6/14
|
||||
*/
|
||||
public class CommonPredictorFactory extends BasePooledObjectFactory<Predictor<?, ?>> {
|
||||
|
||||
private final ZooModel<?, ?> model;
|
||||
private final NoBatchifyTranslator<?, ?> translator;
|
||||
|
||||
public CommonPredictorFactory(ZooModel<?, ?> model, NoBatchifyTranslator<?, ?> translator) {
|
||||
this.model = model;
|
||||
this.translator = translator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Predictor<?, ?> create() {
|
||||
return model.newPredictor(translator);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PooledObject<Predictor<?, ?>> wrap(Predictor<?, ?> predictor) {
|
||||
return new DefaultPooledObject<>(predictor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyObject(PooledObject<Predictor<?, ?>> p) {
|
||||
p.getObject().close();
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package cn.smartjavaai.common.pool;
|
||||
|
||||
import ai.djl.inference.Predictor;
|
||||
import ai.djl.repository.zoo.ZooModel;
|
||||
import ai.djl.translate.Translator;
|
||||
import org.apache.commons.pool2.BasePooledObjectFactory;
|
||||
import org.apache.commons.pool2.PooledObject;
|
||||
import org.apache.commons.pool2.impl.DefaultPooledObject;
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
package cn.smartjavaai.common.pool;
|
||||
|
||||
import ai.djl.inference.Predictor;
|
||||
import ai.djl.repository.zoo.ZooModel;
|
||||
import org.apache.commons.pool2.BasePooledObjectFactory;
|
||||
import org.apache.commons.pool2.PooledObject;
|
||||
import org.apache.commons.pool2.impl.DefaultPooledObject;
|
||||
|
||||
/**
|
||||
* ZooModel 工厂类
|
||||
* @author lwx
|
||||
* @date 2025/6/06
|
||||
*/
|
||||
public class ZooModelFactory<I, O> extends BasePooledObjectFactory<ZooModel<I, O>> {
|
||||
private final ZooModel<I, O> model;
|
||||
|
||||
public ZooModelFactory(ZooModel<I, O> model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZooModel<I, O> create() {
|
||||
return model;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PooledObject<ZooModel<I, O>> wrap(ZooModel<I, O> predictor) {
|
||||
return new DefaultPooledObject<>(predictor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyObject(PooledObject<ZooModel<I, O>> p) {
|
||||
p.getObject().close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user