Doccano标注系统安装与二次开发(机器学习从业开发者标注工具,支持多语言)
文章目录
Doccano是面向机器学习专业人员的开源文本标注工具。
Doccano标注系统安装
- 项目git地址: https://github.com/doccano/doccano
在doccano项目中,已经简单介绍过安装方法。项目实际文件时在app中。
- git目录结构如下:
1.1 linux上单独部署
git clone https://github.com/doccano/doccano.git
cd doccano/
- 修改docker-compose.prod.yml文件中的用户名和密码
ADMIN_USERNAME: "admin"
ADMIN_PASSWORD: "password"
- 运行项目
docker-compose -f docker-compose.dev.yml up
在doccano项目中,已经介绍了上面方法部署。这里不再做过多介绍。
1.1 linux上,前后端分离部署
经过分析,doccano后端代码在app目录中,前端代码在app/server/static目录中。
- 后端目录
- 前端目录
-
修改前端启动ip及其他
- 本次使用域名"www.mumuxi.online"
vim webpack.config.js
修改后的文件如下
const fs = require('fs'); const path = require('path'); const process = require('process'); const BundleTracker = require('webpack-bundle-tracker'); const VueLoaderPlugin = require('vue-loader/lib/plugin') const { ContextReplacementPlugin } = require('webpack'); const hljsLanguages = require('./components/hljsLanguages'); const devMode = process.env.DEBUG !== 'False'; const hotReload = process.env.HOT_RELOAD === '1'; const webpackHost = process.env.WEBPACK_HOST || '0.0.0.0'; const webpackPort = process.env.WEBPACK_PORT ? parseInt(process.env.WEBPACK_PORT, 10) : 8080; const pollMillis = process.env.WEBPACK_POLL_MILLIS ? parseInt(process.env.WEBPACK_POLL_MILLIS, 10) : false; const noSourceMap = process.env.SOURCE_MAP === 'False'; const pagesRoot = path.join(__dirname, 'pages'); const entryPoints = {}; fs.readdirSync(pagesRoot).forEach((scriptName) => { const bundleName = path.parse(scriptName).name; const scriptPath = path.join(pagesRoot, scriptName) entryPoints[bundleName] = scriptPath; }); module.exports = { mode: devMode ? 'development' : 'production', entry: entryPoints, output: { publicPath: hotReload ? `http://www.mumuxi.online:${webpackPort}/` : '', path: path.join(__dirname, 'bundle'), filename: '[name].js' }, devtool: noSourceMap ? false : (devMode ? 'cheap-eval-source-map' : 'source-map'), devServer: { port: webpackPort, host: webpackHost, disableHostCheck: true, hot: true, quiet: false, headers: { 'Access-Control-Allow-Origin': '*' } }, watchOptions: { poll: pollMillis, }, module: { rules: [ { test: /\.pug$/, loader: 'pug-plain-loader' }, { test: /\.css$/, use: [ 'vue-style-loader', 'css-loader' ] }, { test: /\.vue$/, loader: 'vue-loader' } ] }, plugins: [ new ContextReplacementPlugin( /highlight\.js\/lib\/languages$/, new RegExp(`^./(${hljsLanguages.join('|')})$`) ), new BundleTracker({ filename: './webpack-stats.json' }), new VueLoaderPlugin() ], resolve: { extensions: ['.js', '.vue'], alias: { vue$: 'vue/dist/vue.esm.js', }, }, }
-
为前端创建Dockerfile文件,内容如下