43 lines
		
	
	
		
			731 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			731 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
# syntax=docker/dockerfile:1.4-labs
 | 
						|
 | 
						|
FROM archlinux:base-devel as libriichi_build
 | 
						|
 | 
						|
RUN <<EOF
 | 
						|
pacman -Syu --noconfirm --needed rust python
 | 
						|
pacman -Scc
 | 
						|
EOF
 | 
						|
 | 
						|
WORKDIR /
 | 
						|
COPY Cargo.toml Cargo.lock .
 | 
						|
COPY libriichi libriichi
 | 
						|
 | 
						|
RUN cargo build -p libriichi --lib --release
 | 
						|
 | 
						|
# -----
 | 
						|
FROM archlinux:base
 | 
						|
 | 
						|
RUN <<EOF
 | 
						|
pacman -Syu --noconfirm --needed python python-pytorch python-toml python-tqdm tensorboard
 | 
						|
pacman -Scc
 | 
						|
EOF
 | 
						|
 | 
						|
WORKDIR /mortal
 | 
						|
COPY mortal .
 | 
						|
COPY --from=libriichi_build /target/release/libriichi.so .
 | 
						|
 | 
						|
ENV MORTAL_CFG config.toml
 | 
						|
COPY <<'EOF' config.toml
 | 
						|
[control]
 | 
						|
state_file = '/mnt/mortal.pth'
 | 
						|
 | 
						|
[resnet]
 | 
						|
conv_channels = 192
 | 
						|
num_blocks = 40
 | 
						|
enable_bn = true
 | 
						|
bn_momentum = 0.99
 | 
						|
EOF
 | 
						|
 | 
						|
VOLUME /mnt
 | 
						|
 | 
						|
ENTRYPOINT ["python", "mortal.py"]
 |