# 20_style-model-for-image-style-fusion-and-transfer
**Repository Path**: hm_anwei/20_style-model-for-image-style-fusion-and-transfer
## Basic Information
- **Project Name**: 20_style-model-for-image-style-fusion-and-transfer
- **Description**: 北京大学软件与微电子学院《人工智能实践》课程项目第6小组,新加入APP功能,项目代码持续完善中。
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-02-04
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 20-Style Model for Image Style Fusion and Transfer
图像风格融合与快速迁移
Simple implementation of the paper "A Learned Representation for Artistic Style"
[A Learned Representation for Artistic Style.](http://cn.arxiv.org/pdf/1610.07629.pdf)
github地址:
https://github.com/7yChris/20_style-model-for-image-style-fusion-and-transfer.git
之后将会持续更新和完善
## Instruction
### 一、core文件夹
##### 项目核心代码
generateds:生成tfrecords训练集
forward:前向传播过程,包括图像生成网络、损失函数网络和loss的计算
backward:主要训练过程
test:测试部分,完成图像风格融合和快速迁移
app:JS网页应用调用test的接口文件
### 二、main.py
运行JS网页应用的入口,在网页上完成可视化操作
## Prepare
##### 一、运行环境
python3.6
##### 二、下载coco数据集
http://images.cocodataset.org/zips/train2014.zip
放在 ./core/MSCOCO/ 文件夹中
##### 三、下载vgg16预训练模型
百度网盘(链接来自网络):https://pan.baidu.com/s/1gg9jLw3 密码:umce,
放在 ./core/vggnet 文件夹中
##### 四、制作coco数据集tfRecords
```
$ python generateds.py
```
## Training Model
```
$ python backward.py
```
1、提供断点续训功能
2、提供已经训练好的模型(5万轮),可在5万轮的基础上继续训练,也可删掉checkpoint从0开始训练
3、在训练过程中,每500轮将会保存一张训练图片在./core/save_training_imgs/中,可从中查看训练效果
## Eval Model
1、将测试图片放在./core/test_imgs/中
2、在test.py中,修改测试文件路径PATH_IMG
3、在test.py中,修改风格编号LABEL_1至LABEL_4
```
$ python test.py
```
4、生成图片存储在./core/results/文件夹中
## Run APP
##### 目前仅对windows系统Edge浏览器做过全面测试,其他浏览器存在不同程度的不兼容性,之后会尽快完善
```
$ python main.py
```
1、在浏览器中打开host地址:127.0.0.1:5000
2、在网页上完成可视化操作
3、若提示"OSError: [Errno 48] Address already in use",请按以下步骤处理:
```
$ sudo lsof -i:5000
```
找到占用5000端口进程的PID编号,然后kill掉此进程
```
$ sudo kill pid
```
重新运行main.py
```
$ python main.py
```